Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:copy_pmd_range

Proto:static inline int copy_pmd_range(struct mm_struct *dst_mm, struct mm_struct *src_mm, pud_t *dst_pud, pud_t *src_pud, 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
pud_t *dst_pud
pud_t *src_pud
struct vm_area_struct *vma
unsigned longaddr
unsigned longend
872  dst_pmd = pmd_alloc(dst_mm, dst_pud, addr)
873  If Not dst_pmd Then Return -ENOMEM
875  src_pmd = pmd_offset(src_pud, addr)
876  Do
877  next = pmd_addr_end(addr, end)
878  If is_swap_pmd( * src_pmd) || pmd_trans_huge( * src_pmd) || pmd_devmap( * src_pmd) Then
884  If err == -ENOMEM Then Return -ENOMEM
886  If Not err Then Continue
890  If pmd_none_or_clear_bad(src_pmd) Then Continue
892  If copy_pte_range(dst_mm, src_mm, dst_pmd, src_pmd, vma, addr, next) Then Return -ENOMEM
895  When dst_pmd++, src_pmd++, addr = next , addr != end cycle
896  Return 0
Caller
NameDescribe
copy_pud_range