On 08/06/25 at 11:24pm, Sabyrzhan Tasbolatov wrote: > On Tue, Aug 5, 2025 at 11:34 AM Baoquan He <b...@redhat.com> wrote: > > > > Now everything is ready, set kasan=off can disable kasan for all > > three modes. > > > > Hello, > > I've been working on this already and a different approach > with the Kconfig ARCH_DEFER_KASAN has been proposed.
Thanks for telling, I don't always watch MM mailing list, so missed your earlier posting. I went through your v5 series, we are doing different work. I am adding kasan=on|off to generic/sw_tags, and have added kasan_enabled() to needed places. In fact, based on this patchset, we can remove kasan_arch_is_ready() more easily since in all places kasan_enabled() has been added there. Before seeing your patches, this is what I planned to do to remove kasan_arch_is_ready(). I will see what can be done better. Maybe I can carry your patch in v2. I will try tomorrow. > > Please see v4 thread. > https://lore.kernel.org/all/20250805142622.560992-1-snovit...@gmail.com/ > > It also covers the printing in a single KASAN codebase, instead of > printing "KASAN intiilaized" in arch/* code. > Also covers the enabling KASAN via kasan_enable() for all 3 modes. > > It's up to KASAN maintainers to choose either version. > I just need the confirmation now if I should proceed with v5, > or your version if it covers all arch and cases should be picked up. > > Thanks > > > Signed-off-by: Baoquan He <b...@redhat.com> > > --- > > include/linux/kasan-enabled.h | 11 +---------- > > 1 file changed, 1 insertion(+), 10 deletions(-) > > > > diff --git a/include/linux/kasan-enabled.h b/include/linux/kasan-enabled.h > > index 32f2d19f599f..b5857e15ef14 100644 > > --- a/include/linux/kasan-enabled.h > > +++ b/include/linux/kasan-enabled.h > > @@ -8,30 +8,21 @@ extern bool kasan_arg_disabled; > > > > DECLARE_STATIC_KEY_FALSE(kasan_flag_enabled); > > > > -#ifdef CONFIG_KASAN_HW_TAGS > > - > > static __always_inline bool kasan_enabled(void) > > { > > return static_branch_likely(&kasan_flag_enabled); > > } > > > > +#ifdef CONFIG_KASAN_HW_TAGS > > static inline bool kasan_hw_tags_enabled(void) > > { > > return kasan_enabled(); > > } > > - > > #else /* CONFIG_KASAN_HW_TAGS */ > > - > > -static inline bool kasan_enabled(void) > > -{ > > - return IS_ENABLED(CONFIG_KASAN); > > -} > > - > > static inline bool kasan_hw_tags_enabled(void) > > { > > return false; > > } > > - > > #endif /* CONFIG_KASAN_HW_TAGS */ > > > > #endif /* LINUX_KASAN_ENABLED_H */ > > -- > > 2.41.0 > > > > >