函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:apply_to_pte_range

函数原型:static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd, unsigned long addr, unsigned long end, pte_fn_t fn, void *data, bool create)

返回类型:int

参数:

类型参数名称
struct mm_struct *mm
pmd_t *pmd
unsigned longaddr
unsigned longend
pte_fn_tfn
void *data
boolcreate
2027  err等于0
2028  ptl等于ptl
2030  如果create
2031  pte等于如果mm恒等于init_mmpte_alloc_kernel(pmd, addr)否则pte_alloc_map_lock(mm, pmd, addr, & ptl)
2034  如果非pte则返回:负ENOMEM
2036  否则
2037  pte等于如果mm恒等于init_mmpte_offset_kernel(pmd, addr)否则pte_offset_map_lock(mm, pmd, addr, & ptl)
2042  BUG_ON(pmd_huge( * pmd))
2044  A facility to provide lazy MMU batching()
2046  循环
2047  如果create或非pte_none( * pte)则
2048  err等于fn(pte++, addr, data)
2049  如果err退出
2052 addr加等于PAGE_SIZE, addr不等于end循环
2054  arch_leave_lazy_mmu_mode()
2056  如果mm不等于init_mmpte_unmap_unlock(pte - 1, ptl)
2058  返回:err
调用者
名称描述
apply_to_pmd_range