Call kasan_init_generic() which enables the static flag to mark generic KASAN initialized, otherwise it's an inline stub.
Delete the key `kasan_um_is_ready` in favor of the global static flag in linux/kasan-enabled.h which is enabled with kasan_init_generic(). Note that "kasan_init_generic" has __init macro, which is called by kasan_init() which is not marked with __init in arch/um code. Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218315 Signed-off-by: Sabyrzhan Tasbolatov <snovit...@gmail.com> --- Changes in v2: - add the proper header `#include <linux/kasan.h>` --- arch/um/include/asm/kasan.h | 5 ----- arch/um/kernel/mem.c | 4 ++-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/arch/um/include/asm/kasan.h b/arch/um/include/asm/kasan.h index f97bb1f7b85..81bcdc0f962 100644 --- a/arch/um/include/asm/kasan.h +++ b/arch/um/include/asm/kasan.h @@ -24,11 +24,6 @@ #ifdef CONFIG_KASAN void kasan_init(void); -extern int kasan_um_is_ready; - -#ifdef CONFIG_STATIC_LINK -#define kasan_arch_is_ready() (kasan_um_is_ready) -#endif #else static inline void kasan_init(void) { } #endif /* CONFIG_KASAN */ diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c index 76bec7de81b..058cb70e330 100644 --- a/arch/um/kernel/mem.c +++ b/arch/um/kernel/mem.c @@ -21,9 +21,9 @@ #include <os.h> #include <um_malloc.h> #include <linux/sched/task.h> +#include <linux/kasan.h> #ifdef CONFIG_KASAN -int kasan_um_is_ready; void kasan_init(void) { /* @@ -32,7 +32,7 @@ void kasan_init(void) */ kasan_map_memory((void *)KASAN_SHADOW_START, KASAN_SHADOW_SIZE); init_task.kasan_depth = 0; - kasan_um_is_ready = true; + kasan_init_generic(); } static void (*kasan_init_ptr)(void) -- 2.34.1