Lines Matching refs:pgd

38 static inline bool kasan_p4d_table(pgd_t pgd)  in kasan_p4d_table()  argument
40 return pgd_page(pgd) == virt_to_page(lm_alias(kasan_zero_p4d)); in kasan_p4d_table()
43 static inline bool kasan_p4d_table(pgd_t pgd) in kasan_p4d_table() argument
173 static int __ref zero_p4d_populate(pgd_t *pgd, unsigned long addr, in zero_p4d_populate() argument
176 p4d_t *p4d = p4d_offset(pgd, addr); in zero_p4d_populate()
223 pgd_t *pgd = pgd_offset_k(addr); in kasan_populate_zero_shadow() local
252 pgd_populate(&init_mm, pgd, lm_alias(kasan_zero_p4d)); in kasan_populate_zero_shadow()
254 p4d = p4d_offset(pgd, addr); in kasan_populate_zero_shadow()
263 if (pgd_none(*pgd)) { in kasan_populate_zero_shadow()
267 p = p4d_alloc(&init_mm, pgd, addr); in kasan_populate_zero_shadow()
271 pgd_populate(&init_mm, pgd, in kasan_populate_zero_shadow()
275 zero_p4d_populate(pgd, addr, next); in kasan_populate_zero_shadow()
276 } while (pgd++, addr = next, addr != end); in kasan_populate_zero_shadow()
326 static void kasan_free_p4d(p4d_t *p4d_start, pgd_t *pgd) in kasan_free_p4d() argument
337 p4d_free(&init_mm, (p4d_t *)page_to_virt(pgd_page(*pgd))); in kasan_free_p4d()
338 pgd_clear(pgd); in kasan_free_p4d()
439 pgd_t *pgd; in kasan_remove_zero_shadow() local
454 pgd = pgd_offset_k(addr); in kasan_remove_zero_shadow()
455 if (!pgd_present(*pgd)) in kasan_remove_zero_shadow()
458 if (kasan_p4d_table(*pgd)) { in kasan_remove_zero_shadow()
461 pgd_clear(pgd); in kasan_remove_zero_shadow()
465 p4d = p4d_offset(pgd, addr); in kasan_remove_zero_shadow()
467 kasan_free_p4d(p4d_offset(pgd, 0), pgd); in kasan_remove_zero_shadow()