Message ID | d0943bd69fdfe27fbda20fde9b143e57c825546f.1702339432.git.andreyknvl@google.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | lib/stackdepot, kasan: fixes for stack eviction series | expand |
On Tue, 12 Dec 2023 at 01:14, <andrey.konovalov@linux.dev> wrote: > > From: Andrey Konovalov <andreyknvl@google.com> > > 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@google.com> Reviewed-by: Marco Elver <elver@google.com> > --- > > 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 >
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)); } /*