Percpu embedded first chunk allocator is the firstly option, but it
could fails on ARM64 when turning on numa with CONFIG_KASAN=y.
Let's implement page mapping percpu first chunk allocator as a fallback
to the embedding allocator to increase the robustness of the system.
Also fix a crash when both NEED_PER_CPU_PAGE_FIRST_CHUNK and KASAN_VMALLOC enabled.
After merging this patch set, the ARM64 machine can start and work normally.
Kefeng Wang (3):
vmalloc: choose a better start address in vm_area_register_early()
arm64: support page mapping percpu first chunk allocator
kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC
arch/arm64/Kconfig | 4 ++
arch/arm64/mm/kasan_init.c | 16 ++++++++
arch/arm64/mm/numa.c | 84 +++++++++++++++++++++++++++++++++-----
include/linux/kasan.h | 10 ++++-
mm/kasan/common.c | 5 +++
mm/vmalloc.c | 19 ++++++---
6 files changed, 120 insertions(+), 18 deletions(-)
--
2.34.1