Lines Matching defs:pmd
70 static inline bool kasan_pte_table(pmd_t pmd)
72 return pmd_page(pmd) == virt_to_page(lm_alias(kasan_early_shadow_pte));
92 static void __ref zero_pte_populate(pmd_t *pmd, unsigned long addr,
95 pte_t *pte = pte_offset_kernel(pmd, addr);
105 pte = pte_offset_kernel(pmd, addr);
112 pmd_t *pmd = pmd_offset(pud, addr);
119 pmd_populate_kernel(&init_mm, pmd,
124 if (pmd_none(*pmd)) {
134 pmd_populate_kernel(&init_mm, pmd, p);
136 zero_pte_populate(pmd, addr, next);
137 } while (pmd++, addr = next, addr != end);
155 pmd_t *pmd;
159 pmd = pmd_offset(pud, addr);
160 pmd_populate_kernel(&init_mm, pmd,
198 pmd_t *pmd;
205 pmd = pmd_offset(pud, addr);
206 pmd_populate_kernel(&init_mm, pmd,
250 pmd_t *pmd;
255 * [pud,pmd]_populate*() below needed only for
268 pmd = pmd_offset(pud, addr);
269 pmd_populate_kernel(&init_mm, pmd,
292 static void kasan_free_pte(pte_t *pte_start, pmd_t *pmd)
303 pte_free_kernel(&init_mm, (pte_t *)page_to_virt(pmd_page(*pmd)));
304 pmd_clear(pmd);
309 pmd_t *pmd;
313 pmd = pmd_start + i;
314 if (!pmd_none(*pmd))
374 static void kasan_remove_pmd_table(pmd_t *pmd, unsigned long addr,
379 for (; addr < end; addr = next, pmd++) {
384 if (!pmd_present(*pmd))
387 if (kasan_pte_table(*pmd)) {
390 pmd_clear(pmd);
394 pte = pte_offset_kernel(pmd, addr);
396 kasan_free_pte(pte_offset_kernel(pmd, 0), pmd);
406 pmd_t *pmd, *pmd_base;
420 pmd = pmd_offset(pud, addr);
422 kasan_remove_pmd_table(pmd, addr, next);