Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\vmalloc.c Create Date:2022-07-28 15:00:04
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Handle removing and resetting vm mappings related to the vm_struct.

Proto:static void vm_remove_mappings(struct vm_struct *area, int deallocate_pages)

Type:void

Parameter:

TypeParameterName
struct vm_struct *area
intdeallocate_pages
2231  start = ULONG_MAX , end = 0
2232  flush_reset = flags & Reset direct map and flush TLB on unmap
2233  flush_dmap = 0
2236  move_vm_area - find and remove a continuous kernel virtual area*@addr: base address* Search for the kernel VM area starting at @addr, and remove it.* This function returns the found VM area, but using it is NOT safe
2239  If Not flush_reset Then Return
2246  If Not deallocate_pages Then
2247  vm_unmap_aliases - unmap outstanding lazy aliases in the vmap layer* The vmap/vmalloc layer lazily flushes kernel virtual mappings primarily* to amortize TLB flushing overheads
2248  Return
2256  When i < nr_pages cycle
2257  addr = page_address(pages[i])
2258  If addr Then
2261  flush_dmap = 1
2270  set_area_direct_map(area, set_direct_map_invalid_noflush)
2271  _vm_unmap_aliases(start, end, flush_dmap)
2272  set_area_direct_map(area, set_direct_map_default_noflush)
Caller
NameDescribe
__vunmap