Since commit 1e338f4d99e6 ("kasan: introduce ARCH_DEFER_KASAN and unify
static key across modes"), kasan_arch_is_ready() has been dead code.
And up to now, ARCH_DEFER_KASAN is useless too because of code change
for 'kasan=on|off'.Here clean them up. Signed-off-by: Baoquan He <[email protected]> --- arch/loongarch/Kconfig | 1 - arch/powerpc/Kconfig | 1 - arch/um/Kconfig | 1 - lib/Kconfig.kasan | 12 ------------ mm/kasan/kasan.h | 6 ------ 5 files changed, 21 deletions(-) diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig index d211c6572b0a..4b7802d02911 100644 --- a/arch/loongarch/Kconfig +++ b/arch/loongarch/Kconfig @@ -9,7 +9,6 @@ config LOONGARCH select ACPI_PPTT if ACPI select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI select ARCH_BINFMT_ELF_STATE - select ARCH_NEEDS_DEFER_KASAN select ARCH_DISABLE_KASAN_INLINE select ARCH_ENABLE_MEMORY_HOTPLUG select ARCH_ENABLE_MEMORY_HOTREMOVE diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index ad7a2fe63a2a..b51fbc25bdc9 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -122,7 +122,6 @@ config PPC # Please keep this list sorted alphabetically. # select ARCH_32BIT_OFF_T if PPC32 - select ARCH_NEEDS_DEFER_KASAN if PPC_RADIX_MMU select ARCH_DISABLE_KASAN_INLINE if PPC_RADIX_MMU select ARCH_DMA_DEFAULT_COHERENT if !NOT_COHERENT_CACHE select ARCH_ENABLE_MEMORY_HOTPLUG diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 098cda44db22..fd0bedd2c696 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig @@ -6,7 +6,6 @@ config UML bool default y select ARCH_DISABLE_KASAN_INLINE if STATIC_LINK - select ARCH_NEEDS_DEFER_KASAN if STATIC_LINK select ARCH_WANTS_DYNAMIC_TASK_STRUCT select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_CPU_FINALIZE_INIT diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan index a4bb610a7a6f..f82889a830fa 100644 --- a/lib/Kconfig.kasan +++ b/lib/Kconfig.kasan @@ -19,18 +19,6 @@ config ARCH_DISABLE_KASAN_INLINE Disables both inline and stack instrumentation. Selected by architectures that do not support these instrumentation types. -config ARCH_NEEDS_DEFER_KASAN - bool - -config ARCH_DEFER_KASAN - def_bool y - depends on KASAN && ARCH_NEEDS_DEFER_KASAN - help - Architectures should select this if they need to defer KASAN - initialization until shadow memory is properly set up. This - enables runtime control via static keys. Otherwise, KASAN uses - compile-time constants for better performance. - config CC_HAS_KASAN_GENERIC def_bool $(cc-option, -fsanitize=kernel-address) diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h index fc9169a54766..f08f7f75c285 100644 --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h @@ -552,12 +552,6 @@ static inline void kasan_poison_last_granule(const void *address, size_t size) { #endif /* CONFIG_KASAN_GENERIC */ -#ifndef kasan_arch_is_ready -static inline bool kasan_arch_is_ready(void) { return true; } -#elif !defined(CONFIG_KASAN_GENERIC) || !defined(CONFIG_KASAN_OUTLINE) -#error kasan_arch_is_ready only works in KASAN generic outline mode! -#endif - #if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST) void kasan_kunit_test_suite_start(void); -- 2.52.0
