Lines Matching defs:pmd
74 static inline bool kasan_pte_table(pmd_t pmd)
76 return pmd_page(pmd) == virt_to_page(lm_alias(kasan_early_shadow_pte));
96 static void __ref zero_pte_populate(pmd_t *pmd, unsigned long addr,
99 pte_t *pte = pte_offset_kernel(pmd, addr);
109 pte = pte_offset_kernel(pmd, addr);
116 pmd_t *pmd = pmd_offset(pud, addr);
123 pmd_populate_kernel(&init_mm, pmd,
128 if (pmd_none(*pmd)) {
138 pmd_populate_kernel(&init_mm, pmd, p);
140 zero_pte_populate(pmd, addr, next);
141 } while (pmd++, addr = next, addr != end);
155 pmd_t *pmd;
159 pmd = pmd_offset(pud, addr);
160 pmd_populate_kernel(&init_mm, pmd,
196 pmd_t *pmd;
203 pmd = pmd_offset(pud, addr);
204 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))
371 static void kasan_remove_pmd_table(pmd_t *pmd, unsigned long addr,
376 for (; addr < end; addr = next, pmd++) {
381 if (!pmd_present(*pmd))
384 if (kasan_pte_table(*pmd)) {
387 pmd_clear(pmd);
391 pte = pte_offset_kernel(pmd, addr);
393 kasan_free_pte(pte_offset_kernel(pmd, 0), pmd);
403 pmd_t *pmd, *pmd_base;
417 pmd = pmd_offset(pud, addr);
419 kasan_remove_pmd_table(pmd, addr, next);