Re: [PATCH mm 3/4] kasan: memset free track in qlink_free

From: Marco Elver
Date: Tue Dec 12 2023 - 14:30:44 EST


On Tue, 12 Dec 2023 at 01:14, <andrey.konovalov@xxxxxxxxx> wrote:
>
> From: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
>
> Instead of only zeroing out the stack depot handle when evicting the
> free stack trace in qlink_free, zero out the whole track.
>
> Do this just to produce a similar effect for alloc and free meta. The
> other fields of the free track besides the stack trace handle are
> considered invalid at this point anyway, so no harm in zeroing them out.
>
> Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx>

Reviewed-by: Marco Elver <elver@xxxxxxxxxx>

> ---
>
> This can be squashed into "kasan: use stack_depot_put for Generic mode"
> or left standalone.
> ---
> mm/kasan/quarantine.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/kasan/quarantine.c b/mm/kasan/quarantine.c
> index 265ca2bbe2dd..782e045da911 100644
> --- a/mm/kasan/quarantine.c
> +++ b/mm/kasan/quarantine.c
> @@ -157,7 +157,7 @@ static void qlink_free(struct qlist_node *qlink, struct kmem_cache *cache)
> if (free_meta &&
> *(u8 *)kasan_mem_to_shadow(object) == KASAN_SLAB_FREETRACK) {
> stack_depot_put(free_meta->free_track.stack);
> - free_meta->free_track.stack = 0;
> + __memset(&free_meta->free_track, 0, sizeof(free_meta->free_track));
> }
>
> /*
> --
> 2.25.1
>