lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+fCnZfwPU0_LJQsCbatD3kd8vLE-ep06vZikNaR0W6-6UrkDQ@mail.gmail.com>
Date: Wed, 22 Oct 2025 01:07:07 +0200
From: Andrey Konovalov <andreyknvl@...il.com>
To: Sabyrzhan Tasbolatov <snovitoll@...il.com>
Cc: ryabinin.a.a@...il.com, glider@...gle.com, dvyukov@...gle.com, 
	vincenzo.frascino@....com, akpm@...ux-foundation.org, bhe@...hat.com, 
	christophe.leroy@...roup.eu, ritesh.list@...il.com, 
	kasan-dev@...glegroups.com, linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH 1/2] kasan: remove __kasan_save_free_info wrapper

On Thu, Oct 9, 2025 at 5:54 PM Sabyrzhan Tasbolatov <snovitoll@...il.com> wrote:
>
> We don't need a kasan_enabled() check in
> kasan_save_free_info() at all. Both the higher level paths
> (kasan_slab_free and kasan_mempool_poison_object) already contain this
> check. Therefore, remove the __wrapper.
>
> Signed-off-by: Sabyrzhan Tasbolatov <snovitoll@...il.com>
> Fixes: 1e338f4d99e6 ("kasan: introduce ARCH_DEFER_KASAN and unify static key across modes")
> ---
>  mm/kasan/generic.c | 2 +-
>  mm/kasan/kasan.h   | 7 +------
>  mm/kasan/tags.c    | 2 +-
>  3 files changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/mm/kasan/generic.c b/mm/kasan/generic.c
> index b413c46b3e0..516b49accc4 100644
> --- a/mm/kasan/generic.c
> +++ b/mm/kasan/generic.c
> @@ -573,7 +573,7 @@ void kasan_save_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags)
>         kasan_save_track(&alloc_meta->alloc_track, flags);
>  }
>
> -void __kasan_save_free_info(struct kmem_cache *cache, void *object)
> +void kasan_save_free_info(struct kmem_cache *cache, void *object)
>  {
>         struct kasan_free_meta *free_meta;
>
> diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h
> index 07fa7375a84..fc9169a5476 100644
> --- a/mm/kasan/kasan.h
> +++ b/mm/kasan/kasan.h
> @@ -399,12 +399,7 @@ void kasan_set_track(struct kasan_track *track, depot_stack_handle_t stack);
>  void kasan_save_track(struct kasan_track *track, gfp_t flags);
>  void kasan_save_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags);
>
> -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);
> -}
> +void kasan_save_free_info(struct kmem_cache *cache, void *object);
>
>  #ifdef CONFIG_KASAN_GENERIC
>  bool kasan_quarantine_put(struct kmem_cache *cache, void *object);
> diff --git a/mm/kasan/tags.c b/mm/kasan/tags.c
> index b9f31293622..d65d48b85f9 100644
> --- a/mm/kasan/tags.c
> +++ b/mm/kasan/tags.c
> @@ -142,7 +142,7 @@ void kasan_save_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags)
>         save_stack_info(cache, object, flags, false);
>  }
>
> -void __kasan_save_free_info(struct kmem_cache *cache, void *object)
> +void kasan_save_free_info(struct kmem_cache *cache, void *object)
>  {
>         save_stack_info(cache, object, 0, true);
>  }
> --
> 2.34.1
>

Reviewed-by: Andrey Konovalov <andreyknvl@...il.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ