函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:vm_normal_page_pmd

函数原型:struct page *vm_normal_page_pmd(struct vm_area_struct *vma, unsigned long addr, pmd_t pmd)

返回类型:struct page

参数:

类型参数名称
struct vm_area_struct *vma
unsigned longaddr
pmd_tpmd
651  pfn等于pmd_pfn(pmd)
658  如果此条件成立可能性小(为编译器优化)(Flags, see mm.h. & (Page-ranges managed without "struct page", just pure PFN | Can contain "struct page" and pure PFN pages ))则
660  如果非pfn_valid(pfn)则返回:NULL
662  转到:out
663  否则
666  如果pfn恒等于Offset (within vm_file) in PAGE_SIZEunits off则返回:NULL
668  如果非is_cow_mapping(Flags, see mm.h. )则返回:NULL
673  如果pmd_devmap(pmd)则返回:NULL
675  如果is_huge_zero_pmd(pmd)则返回:NULL
677  如果此条件成立可能性小(为编译器优化)(pfn > highest_memmap_pfn)则返回:NULL
684  out :
685  返回:pfn_to_page(pfn)