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? > static inline void *kasan_reset_tag(const void *addr) > { > diff --git a/mm/kasan/hw_tags.c b/mm/kasan/hw_tags.c > index 2a38885014e3..0128062320d5 100644 > --- a/mm/kasan/hw_tags.c > +++ b/mm/kasan/hw_tags.c > @@ -15,7 +15,7 @@ > > #include "kasan.h" > > -void kasan_init_tags(void) > +void __init kasan_init_tags(void) > { > init_tags(KASAN_TAG_MAX); > } > diff --git a/mm/kasan/sw_tags.c b/mm/kasan/sw_tags.c > index c10863a45775..bf1422282bb5 100644 > --- a/mm/kasan/sw_tags.c > +++ b/mm/kasan/sw_tags.c > @@ -35,7 +35,7 @@ > > static DEFINE_PER_CPU(u32, prng_state); > > -void kasan_init_tags(void) > +void __init kasan_init_tags(void) > { > int cpu; > > -- > 2.28.0.1011.ga647a8990f-goog >