On 08/08/25 at 02:24pm, Lorenzo Stoakes wrote: > On Fri, Aug 08, 2025 at 09:08:35PM +0800, Baoquan He wrote: > > On 08/06/25 at 05:26pm, Lorenzo Stoakes wrote: ...... > > > > diff --git a/include/linux/kasan-enabled.h > > > > b/include/linux/kasan-enabled.h > > > > index b5857e15ef14..a53d112b1020 100644 > > > > --- a/include/linux/kasan-enabled.h > > > > +++ b/include/linux/kasan-enabled.h > > > > @@ -8,11 +8,22 @@ extern bool kasan_arg_disabled; > > > > > > > > DECLARE_STATIC_KEY_FALSE(kasan_flag_enabled); > > > > > > > > +#ifdef CONFIG_KASAN > > > > + > > > > > > Shouldn't we put this above the static key declaration? > > > > > > Feels like the whole header should be included really. > > > > You are right, kasan_flag_enabled should be included in CONFIG_KASAN > > ifdeffery scope. > > Firstly I _LOVE_ the term 'ifdeffery scope'. Fantastic :)
Learned from upstream people with expertise on both english and kernel, :-) > > > > > Since CONFIG_KASAN_HW_TAGS depends on CONFIG_KASAN, we may not need > > include below CONFIG_KASAN_HW_TAGS ifdeffery into CONFIG_KASAN ifdeffery > > scope. Not sure if this is incorrect. > > Well I don't think CONFIG_KASAN_HW_TAGS is necessarily implied right? So these > should remain I think, just nested in CONFIG_KASAN, should be fine. After investigation, I keep the CONFIG_KASAN_HW_TAGS ifdeffery scope out of CONFIG_KASAN scope. Otherwise, I need define the dummy kasan_hw_tags_enabled() function twice. I am personally not fan of the style. While if that is preferred in kernel, I can change it. #ifdef CONFIG_KASAN #ifdef CONFIG_KASAN_HW_TAGS ...... #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_hw_tags_enabled(void) { return false; } #endif /* CONFIG_KASAN_HW_TAGS */ ..... #else /* CONFIG_KASAN */ static inline bool kasan_hw_tags_enabled(void) { return false; } #endif