--- zzzz-none-000/linux-4.4.271/arch/arm/mm/pgd.c 2021-06-03 06:22:09.000000000 +0000 +++ hawkeye-5590-750/linux-4.4.271/arch/arm/mm/pgd.c 2023-04-19 10:22:27.000000000 +0000 @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -64,6 +65,13 @@ new_pmd = pmd_alloc(mm, new_pud, 0); if (!new_pmd) goto no_pmd; + +#ifdef CONFIG_KASAN + memcpy(new_pmd + pmd_index(KASAN_SHADOW_START), + pmd_off_k(KASAN_SHADOW_START), + ((KASAN_SHADOW_END - KASAN_SHADOW_START)/PMD_SIZE)*sizeof(pmd_t)); + clean_dcache_area(new_pmd, PTRS_PER_PMD * sizeof(pmd_t)); +#endif #endif if (!vectors_high()) {