Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Mark-PK Tsai and committed by
Russell King (Oracle)
89320c97 c16af121

+7 -1
+7 -1
arch/arm/mm/kasan_init.c
··· 28 28 29 29 pmd_t tmp_pmd_table[PTRS_PER_PMD] __page_aligned_bss; 30 30 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 + 31 37 static __init void *kasan_alloc_block(size_t size) 32 38 { 33 39 return memblock_alloc_try_nid(size, size, __pa(MAX_DMA_ADDRESS), ··· 56 50 if (!pte_none(READ_ONCE(*ptep))) 57 51 continue; 58 52 59 - p = kasan_alloc_block(PAGE_SIZE); 53 + p = kasan_alloc_block_raw(PAGE_SIZE); 60 54 if (!p) { 61 55 panic("%s failed to allocate shadow page for address 0x%lx\n", 62 56 __func__, addr);