函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\rmap.c Create Date:2022-07-27 16:25:31
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:At what user virtual address is page expected in vma?* Caller should check the page is actually part of the vma.

函数原型:unsigned long page_address_in_vma(struct page *page, struct vm_area_struct *vma)

返回类型:unsigned long

参数:

类型参数名称
struct page *page
struct vm_area_struct *vma
711  如果PageAnon(page)则
712  page__anon_vma等于page_anon_vma(page)
717  如果非Serialized by page_table_lock 或非page__anon_vmaroot不等于Root of this anon_vma tree 则返回:负EFAULT
720  否则如果 See page-flags.h for PAGE_MAPPING_FLAGS
721  如果非File we map to (can be NULL). f_mapping不等于 See page-flags.h for PAGE_MAPPING_FLAGS 则返回:负EFAULT
723  否则返回:负EFAULT
725  address等于At what user virtual address is page expected in @vma?
726  如果此条件成立可能性小(为编译器优化)(address < Our start address within vm_mm. || address >= The first byte after our end addresswithin vm_mm. )则返回:负EFAULT
728  返回:address
调用者
名称描述
new_pageAllocate a new page for page migration based on vma policy
write_protect_page
replace_pageplace_page - replace page in vma by new ksm page*@vma: vma that holds the pte pointing to page*@page: the page we are replacing by kpage*@kpage: the ksm page we replace page by*@orig_pte: the original value of the pte
add_to_killSchedule a process for later kill.* Uses GFP_ATOMIC allocations to avoid potential recursions in the VM.