[PATCH v2 09/11] kasan/powerpc: call kasan_init_generic in kasan_init
From: Sabyrzhan Tasbolatov <hidden>
Date: 2025-06-26 15:33:04
Also in:
linux-mm, linux-riscv, linux-s390, linux-um, lkml, llvm, loongarch
Subsystem:
kasan, linux for powerpc (32-bit and 64-bit), the rest · Maintainers:
Andrey Ryabinin, Madhavan Srinivasan, Linus Torvalds
Call kasan_init_generic() which enables the static flag to mark generic KASAN initialized, otherwise it's an inline stub. Also prints the banner from the single place. Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218315 Fixes: 55d77bae7342 ("kasan: fix Oops due to missing calls to kasan_arch_is_ready()") Signed-off-by: Sabyrzhan Tasbolatov <redacted> --- Changes in v2: - Add kasan_init_generic() in other kasan_init() calls: arch/powerpc/mm/kasan/init_32.c arch/powerpc/mm/kasan/init_book3e_64.c - Add back `#ifdef CONFIG_KASAN` deleted in v1 --- arch/powerpc/include/asm/kasan.h | 13 ------------- arch/powerpc/mm/kasan/init_32.c | 2 +- arch/powerpc/mm/kasan/init_book3e_64.c | 2 +- arch/powerpc/mm/kasan/init_book3s_64.c | 6 +----- 4 files changed, 3 insertions(+), 20 deletions(-)
diff --git a/arch/powerpc/include/asm/kasan.h b/arch/powerpc/include/asm/kasan.h
index b5bbb94c51f..73466d3ff30 100644
--- a/arch/powerpc/include/asm/kasan.h
+++ b/arch/powerpc/include/asm/kasan.h@@ -53,19 +53,6 @@ #endif #ifdef CONFIG_KASAN -#ifdef CONFIG_PPC_BOOK3S_64 -DECLARE_STATIC_KEY_FALSE(powerpc_kasan_enabled_key); - -static __always_inline bool kasan_arch_is_ready(void) -{ - if (static_branch_likely(&powerpc_kasan_enabled_key)) - return true; - return false; -} - -#define kasan_arch_is_ready kasan_arch_is_ready -#endif - void kasan_early_init(void); void kasan_mmu_init(void); void kasan_init(void);
diff --git a/arch/powerpc/mm/kasan/init_32.c b/arch/powerpc/mm/kasan/init_32.c
index 03666d790a5..1d083597464 100644
--- a/arch/powerpc/mm/kasan/init_32.c
+++ b/arch/powerpc/mm/kasan/init_32.c@@ -165,7 +165,7 @@ void __init kasan_init(void) /* At this point kasan is fully initialized. Enable error messages */ init_task.kasan_depth = 0; - pr_info("KASAN init done\n"); + kasan_init_generic(); } void __init kasan_late_init(void)
diff --git a/arch/powerpc/mm/kasan/init_book3e_64.c b/arch/powerpc/mm/kasan/init_book3e_64.c
index 60c78aac0f6..0d3a73d6d4b 100644
--- a/arch/powerpc/mm/kasan/init_book3e_64.c
+++ b/arch/powerpc/mm/kasan/init_book3e_64.c@@ -127,7 +127,7 @@ void __init kasan_init(void) /* Enable error messages */ init_task.kasan_depth = 0; - pr_info("KASAN init done\n"); + kasan_init_generic(); } void __init kasan_late_init(void) { }
diff --git a/arch/powerpc/mm/kasan/init_book3s_64.c b/arch/powerpc/mm/kasan/init_book3s_64.c
index 7d959544c07..dcafa641804 100644
--- a/arch/powerpc/mm/kasan/init_book3s_64.c
+++ b/arch/powerpc/mm/kasan/init_book3s_64.c@@ -19,8 +19,6 @@ #include <linux/memblock.h> #include <asm/pgalloc.h> -DEFINE_STATIC_KEY_FALSE(powerpc_kasan_enabled_key); - static void __init kasan_init_phys_region(void *start, void *end) { unsigned long k_start, k_end, k_cur;
@@ -92,11 +90,9 @@ void __init kasan_init(void) */ memset(kasan_early_shadow_page, 0, PAGE_SIZE); - static_branch_inc(&powerpc_kasan_enabled_key); - /* Enable error messages */ init_task.kasan_depth = 0; - pr_info("KASAN init done\n"); + kasan_init_generic(); } void __init kasan_early_init(void) { }
--
2.34.1