Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:free_p4d_range

Proto:static inline void free_p4d_range(struct mmu_gather *tlb, pgd_t *pgd, unsigned long addr, unsigned long end, unsigned long floor, unsigned long ceiling)

Type:void

Parameter:

TypeParameterName
struct mmu_gather *tlb
pgd_t *pgd
unsigned longaddr
unsigned longend
unsigned longfloor
unsigned longceiling
298  start = addr
299  p4d = p4d_offset(pgd, addr)
300  Do
301  next = p4d_addr_end(addr, end)
302  If p4d_none_or_clear_bad(p4d) Then Continue
304  free_pud_range(tlb, p4d, addr, next, floor, ceiling)
305  When p4d++, addr = next , addr != end cycle
307  start &= PGDIR_MASK
308  If start < floor Then Return
310  If ceiling Then
311  ceiling &= PGDIR_MASK
312  If Not ceiling Then Return
315  If end - 1 > ceiling - 1 Then Return
318  p4d = p4d_offset(pgd, start)
319  pgd_clear(pgd)
320  p4d_free_tlb(tlb, p4d, start)
Caller
NameDescribe
free_pgd_rangeThis function frees user-level page tables of a process.