Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:walk_pud_range

Proto:static int walk_pud_range(p4d_t *p4d, unsigned long addr, unsigned long end, struct mm_walk *walk)

Type:int

Parameter:

TypeParameterName
p4d_t *p4d
unsigned longaddr
unsigned longend
struct mm_walk *walk
81  ops = ops
82  err = 0
84  pud = pud_offset(p4d, addr)
85  Do
86  again :
87  next = pud_addr_end(addr, end)
89  If pte_hole Then err = pte_hole(addr, next, walk)
91  If err Then Break
93  Continue
96  If pud_entry Then
99  If ptl Then
100  err = pud_entry(pud, addr, next, walk)
101  spin_unlock(ptl)
102  If err Then Break
104  Continue
108  split_huge_pud(vma, pud, addr)
109  If The "pud_xxx()" functions here are trivial for a folded two-level* setup: the pmd is never bad, and a pmd always exists (as it's folded* into the pud entry) Then Go to again
112  If pmd_entry || pte_entry Then err = walk_pmd_range(pud, addr, next, walk)
114  If err Then Break
116  When pud++, addr = next , addr != end cycle
118  Return err
Caller
NameDescribe
walk_p4d_range