函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:copy_pud_range

函数原型: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)

返回类型:int

参数:

类型参数名称
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  如果非dst_pud则返回:负ENOMEM
909  src_pud等于pud_offset(src_p4d, addr)
910  循环
911  next等于pud_addr_end(addr, end)
912  如果pud_trans_huge( * src_pud)或pud_devmap( * src_pud)则
918  如果err恒等于负ENOMEM则返回:负ENOMEM
920  如果非err则继续下一循环
924  如果pud_none_or_clear_bad(src_pud)则继续下一循环
926  如果copy_pmd_range(dst_mm, src_mm, dst_pud, src_pud, vma, addr, next)则返回:负ENOMEM
929 dst_pud自加, src_pud自加, addr等于next, addr不等于end循环
930  返回:0
调用者
名称描述
copy_p4d_range