Re: [PATCH RFC 5/8] kasan: mark kasan_init_tags as __init

From: Andrey Konovalov
Date: Fri Oct 16 2020 - 09:04:54 EST


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!