函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\mlock.c Create Date:2022-07-27 16:13:14
Last Modify:2022-05-23 14:12:58 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:munlock_vma_pages_range() - munlock all pages in the vma range.'*@vma - vma containing range to be munlock()ed.*@start - start address in @vma of the range*@end - end of range in @vma.* For mremap(), munmap() and exit().* Called with @vma VM_LOCKED.

函数原型:void munlock_vma_pages_range(struct vm_area_struct *vma, unsigned long start, unsigned long end)

返回类型:void

参数:

类型参数名称
struct vm_area_struct *vma
unsigned longstart
unsigned longend
448  Flags, see mm.h. 与等于This mask is used to clear all the VMA flags used by mlock
450 start小于end循环
452  page_mask等于0
457  pagevec_init( & pvec)
465  page等于follow_page(vma, start, do get_page on page | give error on hole if it would be zero )
467  如果page且非是错误
482  否则
503  page_increm等于1加page_mask
504  start加等于page_incremPAGE_SIZE
505  :
506  cond_resched()
调用者
名称描述
mlock_fixupmlock_fixup - handle mlock[all]/munlock[all] requests.* Filters out "special" vmas -- VM_LOCKED never gets set for these, and* munlock is a no-op. However, for some special vmas, we go ahead and* populate the ptes.
SYSCALL_DEFINE5Emulation of deprecated remap_file_pages() syscall.
munlock_vma_pages_all