Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:copy_pud_range

Proto:static inline int copy_pud_range(struct mm_struct *dst_mm, struct mm_struct *src_mm, p4d_t *dst_p4d, p4d_t *src_p4d, struct vm_area_struct *vma, unsigned long addr, unsigned long end)

Type:int

Parameter:

TypeParameterName
struct mm_struct *dst_mm
struct mm_struct *src_mm
p4d_t *dst_p4d
p4d_t *src_p4d
struct vm_area_struct *vma
unsigned longaddr
unsigned longend
906  dst_pud = pud_alloc(dst_mm, dst_p4d, addr)
907  If Not dst_pud Then Return -ENOMEM
909  src_pud = pud_offset(src_p4d, addr)
910  Do
911  next = pud_addr_end(addr, end)
912  If pud_trans_huge( * src_pud) || pud_devmap( * src_pud) Then
918  If err == -ENOMEM Then Return -ENOMEM
920  If Not err Then Continue
924  If pud_none_or_clear_bad(src_pud) Then Continue
926  If copy_pmd_range(dst_mm, src_mm, dst_pud, src_pud, vma, addr, next) Then Return -ENOMEM
929  When dst_pud++, src_pud++, addr = next , addr != end cycle
930  Return 0
Caller
NameDescribe
copy_p4d_range