kasan_early_shadow_pmd
__pa_symbol(kasan_early_shadow_pmd)
__pa_symbol(kasan_early_shadow_pmd) : kasan_alloc_zeroed_page(node);
memcpy(__va(pmd_phys), kasan_early_shadow_pmd, sizeof(kasan_early_shadow_pmd));
(__pa(pud_val(pud)) == (unsigned long)__pa(kasan_early_shadow_pmd)))
kasan_early_shadow_pmd);
return pud_page(pud) == virt_to_page(lm_alias(kasan_early_shadow_pmd));
memcpy(pmdp, kasan_early_shadow_pmd, PMD_TABLE_SIZE);
pmd_populate_kernel(&init_mm, &kasan_early_shadow_pmd[i],
pmd_populate_kernel(&init_mm, &kasan_early_shadow_pmd[i],
kasan_early_shadow_pmd);
phys_addr = __pa((uintptr_t)kasan_early_shadow_pmd);
set_pmd(kasan_early_shadow_pmd + i,
(__pa(((uintptr_t)kasan_early_shadow_pmd))),
crst_table_init((unsigned long *)kasan_early_shadow_pmd, pmd_val(pmd_z));
__arch_set_page_dat(kasan_early_shadow_pmd, 1UL << CRST_ALLOC_ORDER);
pud_populate(&init_mm, pud, kasan_early_shadow_pmd);
pud_t pud_z = __pud(__pa(kasan_early_shadow_pmd) | _REGION3_ENTRY);
pudval_t pud_val = __pa_nodebug(kasan_early_shadow_pmd) | _KERNPG_TABLE;
kasan_early_shadow_pmd[i] = __pmd(pmd_val);
extern pmd_t kasan_early_shadow_pmd[MAX_PTRS_PER_PMD];
lm_alias(kasan_early_shadow_pmd));
lm_alias(kasan_early_shadow_pmd));
lm_alias(kasan_early_shadow_pmd));
pmd_t kasan_early_shadow_pmd[MAX_PTRS_PER_PMD] __page_aligned_bss;
return pud_page(pud) == virt_to_page(lm_alias(kasan_early_shadow_pmd));
if (pud_page(val) == virt_to_page(lm_alias(kasan_early_shadow_pmd)))