![Max Filippov](/assets/img/avatar_default.png)
Cover kernel addresses above 0x90000000 by the shadow map. Enable HAVE_ARCH_KASAN when MMU is enabled. Provide kasan_early_init that fills shadow map with writable copies of kasan_zero_page. Call kasan_early_init right after mmu initialization in the setup_arch. Provide kasan_init that allocates proper shadow map pages from the memblock and puts these pages into the shadow map for addresses from VMALLOC area to the end of KSEG. Call kasan_init right after memblock initialization. Don't use KASAN for the boot code, MMU and KASAN initialization and page fault handler. Make kernel stack size 4 times larger when KASAN is enabled to avoid stack overflows. GCC 7.3, 8 or newer is required to build the xtensa kernel with KASAN. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
13 lines
318 B
Makefile
13 lines
318 B
Makefile
#
|
|
# Makefile for the Linux/Xtensa-specific parts of the memory manager.
|
|
#
|
|
|
|
obj-y := init.o misc.o
|
|
obj-$(CONFIG_MMU) += cache.o fault.o ioremap.o mmu.o tlb.o
|
|
obj-$(CONFIG_HIGHMEM) += highmem.o
|
|
obj-$(CONFIG_KASAN) += kasan_init.o
|
|
|
|
KASAN_SANITIZE_fault.o := n
|
|
KASAN_SANITIZE_kasan_init.o := n
|
|
KASAN_SANITIZE_mmu.o := n
|