Lines Matching refs:pud
57 static inline bool kasan_pmd_table(pud_t pud) in kasan_pmd_table() argument
59 return pud_page(pud) == virt_to_page(lm_alias(kasan_early_shadow_pmd)); in kasan_pmd_table()
62 static inline bool kasan_pmd_table(pud_t pud) in kasan_pmd_table() argument
109 static int __ref zero_pmd_populate(pud_t *pud, unsigned long addr, in zero_pmd_populate() argument
112 pmd_t *pmd = pmd_offset(pud, addr); in zero_pmd_populate()
145 pud_t *pud = pud_offset(p4d, addr); in zero_pud_populate() local
153 pud_populate(&init_mm, pud, in zero_pud_populate()
155 pmd = pmd_offset(pud, addr); in zero_pud_populate()
161 if (pud_none(*pud)) { in zero_pud_populate()
165 p = pmd_alloc(&init_mm, pud, addr); in zero_pud_populate()
169 pud_populate(&init_mm, pud, in zero_pud_populate()
173 zero_pmd_populate(pud, addr, next); in zero_pud_populate()
174 } while (pud++, addr = next, addr != end); in zero_pud_populate()
188 pud_t *pud; in zero_p4d_populate() local
193 pud = pud_offset(p4d, addr); in zero_p4d_populate()
194 pud_populate(&init_mm, pud, in zero_p4d_populate()
196 pmd = pmd_offset(pud, addr); in zero_p4d_populate()
239 pud_t *pud; in kasan_populate_early_shadow() local
255 pud = pud_offset(p4d, addr); in kasan_populate_early_shadow()
256 pud_populate(&init_mm, pud, in kasan_populate_early_shadow()
258 pmd = pmd_offset(pud, addr); in kasan_populate_early_shadow()
297 static void kasan_free_pmd(pmd_t *pmd_start, pud_t *pud) in kasan_free_pmd() argument
308 pmd_free(&init_mm, (pmd_t *)page_to_virt(pud_page(*pud))); in kasan_free_pmd()
309 pud_clear(pud); in kasan_free_pmd()
314 pud_t *pud; in kasan_free_pud() local
318 pud = pud_start + i; in kasan_free_pud()
319 if (!pud_none(*pud)) in kasan_free_pud()
387 static void kasan_remove_pud_table(pud_t *pud, unsigned long addr, in kasan_remove_pud_table() argument
392 for (; addr < end; addr = next, pud++) { in kasan_remove_pud_table()
397 if (!pud_present(*pud)) in kasan_remove_pud_table()
400 if (kasan_pmd_table(*pud)) { in kasan_remove_pud_table()
403 pud_clear(pud); in kasan_remove_pud_table()
407 pmd = pmd_offset(pud, addr); in kasan_remove_pud_table()
408 pmd_base = pmd_offset(pud, 0); in kasan_remove_pud_table()
410 kasan_free_pmd(pmd_base, pud); in kasan_remove_pud_table()
420 pud_t *pud; in kasan_remove_p4d_table() local
434 pud = pud_offset(p4d, addr); in kasan_remove_p4d_table()
435 kasan_remove_pud_table(pud, addr, next); in kasan_remove_p4d_table()