these architectures: xtensa, arm. Because they currenly rely on jump_label_init() in main() which is a little late. Then the early static key kasan_flag_enabled in kasan_init() won't work. - In UML architecture, change to enable kasan_flag_enabled in arch_mm_preinit() because kasan_init() is enabled before main(), there's no chance to operate on static key in kasan_init(). Baoquan He (15): mm/kasan: add conditional checks in functions to return directly if kasan is disabled mm/kasan: rename 'kasan_arg' to 'kasan_arg_disabled' mm/kasan: mm/kasan: move kasan= code to common place mm/kasan: make kasan=on|off take effect for all three modes mm/kasan/sw_tags: don't initialize kasan if it's disabled arch/arm: don't initialize kasan if it's disabled arch/arm64: don't initialize kasan if it's disabled arch/loongarch: don't initialize kasan if it's disabled arch/powerpc: don't initialize kasan if it's disabled arch/riscv: don't initialize kasan if it's disabled arch/x86: don't initialize kasan if it's disabled arch/xtensa: don't initialize kasan if it's disabled arch/um: don't initialize kasan if it's disabled mm/kasan: add document into kernel-parameters.txt mm/kasan: clean up unneeded ARCH_DEFER_KASAN and kasan_arch_is_ready .../admin-guide/kernel-parameters.txt | 4 +++ Documentation/dev-tools/kasan.rst | 2 -- arch/arm/kernel/setup.c | 6 ++++ arch/arm/mm/kasan_init.c | 3 ++ arch/arm64/mm/kasan_init.c | 7 +++++ arch/loongarch/Kconfig | 1 - arch/loongarch/mm/kasan_init.c | 3 ++ arch/powerpc/Kconfig | 1 - arch/powerpc/mm/kasan/init_32.c | 6 +++- arch/powerpc/mm/kasan/init_book3e_64.c | 4 +++ arch/powerpc/mm/kasan/init_book3s_64.c | 4 +++ arch/riscv/mm/kasan_init.c | 4 +++ arch/um/Kconfig | 1 - arch/um/kernel/mem.c | 5 +++- arch/x86/mm/kasan_init_64.c | 4 +++ arch/xtensa/kernel/setup.c | 1 + arch/xtensa/mm/kasan_init.c | 4 +++ include/linux/kasan-enabled.h | 10 +++---- include/linux/kasan.h | 7 ++++- lib/Kconfig.kasan | 12 -------- mm/kasan/common.c | 21 ++++++++++++-- mm/kasan/generic.c | 16 +++++++++-- mm/kasan/hw_tags.c | 28 ++----------------- mm/kasan/init.c | 6 ++++ mm/kasan/kasan.h | 6 ---- mm/kasan/quarantine.c | 3 ++ mm/kasan/report.c | 4 ++- mm/kasan/shadow.c | 11 +++++++- mm/kasan/sw_tags.c | 7 +++++ 29 files changed, 128 insertions(+), 63 deletions(-) -- 2.52.0[PATCH v5 00/15] mm/kasan: make kasan=on|off work for all three modesBaoquan He undefinedkasan-dev@googlegroups.com undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined @†›~