On Thu, Oct 15, 2020 at 12:23 PM Marco Elver <elver@xxxxxxxxxx> wrote: > > On Wed, 14 Oct 2020 at 22:44, Andrey Konovalov <andreyknvl@xxxxxxxxxx> wrote: > > > > Similarly to kasan_init() mark kasan_init_tags() as __init. > > > > Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> > > Link: https://linux-review.googlesource.com/id/I8792e22f1ca5a703c5e979969147968a99312558 > > --- > > include/linux/kasan.h | 4 ++-- > > mm/kasan/hw_tags.c | 2 +- > > mm/kasan/sw_tags.c | 2 +- > > 3 files changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/include/linux/kasan.h b/include/linux/kasan.h > > index 7be9fb9146ac..af8317b416a8 100644 > > --- a/include/linux/kasan.h > > +++ b/include/linux/kasan.h > > @@ -185,7 +185,7 @@ static inline void kasan_record_aux_stack(void *ptr) {} > > > > #if defined(CONFIG_KASAN_SW_TAGS) || defined(CONFIG_KASAN_HW_TAGS) > > > > -void kasan_init_tags(void); > > +void __init kasan_init_tags(void); > > > > void *kasan_reset_tag(const void *addr); > > > > @@ -194,7 +194,7 @@ bool kasan_report(unsigned long addr, size_t size, > > > > #else /* CONFIG_KASAN_SW_TAGS || CONFIG_KASAN_HW_TAGS */ > > > > -static inline void kasan_init_tags(void) { } > > +static inline void __init kasan_init_tags(void) { } > > Should we mark empty static inline functions __init? __init comes with > a bunch of other attributes, but hopefully they don't interfere with > inlining? I think it's a good idea to drop __init, as the function call should be optimized away anyway. Thanks!