On Wed, Sep 3, 2025 at 3:00 PM Andrey Konovalov <andreyk...@gmail.com> wrote: > > > +void __kasan_save_free_info(struct kmem_cache *cache, void *object); > > +static inline void kasan_save_free_info(struct kmem_cache *cache, void > > *object) > > +{ > > + if (kasan_enabled()) > > + __kasan_save_free_info(cache, object); > > +} > > What I meant with these __wrappers was that we should add them for the > KASAN hooks that are called from non-KASAN code (i.e. for the hooks > defined in include/linux/kasan.h). And then move all the > kasan_enabled() checks from mm/kasan/* to where the wrappers are > defined in include/linux/kasan.h (see kasan_unpoison_range() as an > example). > > kasan_save_free_info is a KASAN internal function that should need > such a wrapper.
... should _not_ need ... > > For now, to make these patches simpler, you can keep kasan_enabled() > checks in mm/kasan/*, where they are now. Later we can move them to > include/linux/kasan.h with a separate patch.