Lines Matching refs:pgd
33 static inline bool kasan_p4d_table(pgd_t pgd)
35 return pgd_page(pgd) == virt_to_page(lm_alias(kasan_early_shadow_p4d));
38 static inline bool kasan_p4d_table(pgd_t pgd)
188 static int __ref zero_p4d_populate(pgd_t *pgd, unsigned long addr,
191 p4d_t *p4d = p4d_offset(pgd, addr);
241 pgd_t *pgd = pgd_offset_k(addr);
260 pgd_populate(&init_mm, pgd,
262 p4d = p4d_offset(pgd, addr);
274 if (pgd_none(*pgd)) {
278 p = p4d_alloc(&init_mm, pgd, addr);
282 pgd_populate(&init_mm, pgd,
286 zero_p4d_populate(pgd, addr, next);
287 } while (pgd++, addr = next, addr != end);
337 static void kasan_free_p4d(p4d_t *p4d_start, pgd_t *pgd)
348 p4d_free(&init_mm, (p4d_t *)page_to_virt(pgd_page(*pgd)));
349 pgd_clear(pgd);
456 pgd_t *pgd;
470 pgd = pgd_offset_k(addr);
471 if (!pgd_present(*pgd))
474 if (kasan_p4d_table(*pgd)) {
477 pgd_clear(pgd);
482 p4d = p4d_offset(pgd, addr);
484 kasan_free_p4d(p4d_offset(pgd, 0), pgd);