Skip to content

Commit 89320c9

Browse files
PeikanTsaiRussell King (Oracle)
authored andcommitted
ARM: 9329/1: kasan: Use memblock_alloc_try_nid_raw for shadow page
kasan_pte_populate fill KASAN_SHADOW_INIT in the newly allocated shadow page, so it's unnecessary to use memblock_alloc_try_nid, which always zero the new allocated memory. Use memblock_alloc_try_nid_raw instead of memblock_alloc_try_nid like arm64 does which can make kasan init faster. Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
1 parent c16af12 commit 89320c9

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

arch/arm/mm/kasan_init.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ static pgd_t tmp_pgd_table[PTRS_PER_PGD] __initdata __aligned(PGD_SIZE);
2828

2929
pmd_t tmp_pmd_table[PTRS_PER_PMD] __page_aligned_bss;
3030

31+
static __init void *kasan_alloc_block_raw(size_t size)
32+
{
33+
return memblock_alloc_try_nid_raw(size, size, __pa(MAX_DMA_ADDRESS),
34+
MEMBLOCK_ALLOC_NOLEAKTRACE, NUMA_NO_NODE);
35+
}
36+
3137
static __init void *kasan_alloc_block(size_t size)
3238
{
3339
return memblock_alloc_try_nid(size, size, __pa(MAX_DMA_ADDRESS),
@@ -50,7 +56,7 @@ static void __init kasan_pte_populate(pmd_t *pmdp, unsigned long addr,
5056
if (!pte_none(READ_ONCE(*ptep)))
5157
continue;
5258

53-
p = kasan_alloc_block(PAGE_SIZE);
59+
p = kasan_alloc_block_raw(PAGE_SIZE);
5460
if (!p) {
5561
panic("%s failed to allocate shadow page for address 0x%lx\n",
5662
__func__, addr);

0 commit comments

Comments
 (0)