]> Git Repo - linux.git/commit
kasan: avoid resetting aux_lock
authorAndrey Konovalov <[email protected]>
Tue, 9 Jan 2024 22:12:34 +0000 (23:12 +0100)
committerAndrew Morton <[email protected]>
Fri, 12 Jan 2024 23:20:45 +0000 (15:20 -0800)
commitcc478e0b6bdffd20561e1a07941a65f6c8962cab
tree36e164b0477fa685f44d53fdc8deaac90225227a
parentaaa2c9a97c22af5bf011f6dd8e0538219b45af88
kasan: avoid resetting aux_lock

With commit 63b85ac56a64 ("kasan: stop leaking stack trace handles"),
KASAN zeroes out alloc meta when an object is freed.  The zeroed out data
purposefully includes alloc and auxiliary stack traces but also
accidentally includes aux_lock.

As aux_lock is only initialized for each object slot during slab creation,
when the freed slot is reallocated, saving auxiliary stack traces for the
new object leads to lockdep reports when taking the zeroed out aux_lock.

Arguably, we could reinitialize aux_lock when the object is reallocated,
but a simpler solution is to avoid zeroing out aux_lock when an object
gets freed.

Link: https://lkml.kernel.org/r/[email protected]
Fixes: 63b85ac56a64 ("kasan: stop leaking stack trace handles")
Signed-off-by: Andrey Konovalov <[email protected]>
Reported-by: Paul E. McKenney <[email protected]>
Closes: https://lore.kernel.org/linux-next/5cc0f83c-e1d6-45c5-be89-9b86746fe731@paulmck-laptop/
Reviewed-by: Marco Elver <[email protected]>
Tested-by: Paul E. McKenney <[email protected]>
Cc: Alexander Potapenko <[email protected]>
Cc: Andrey Ryabinin <[email protected]>
Cc: Dmitry Vyukov <[email protected]>
Cc: Liam R. Howlett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
mm/kasan/generic.c
This page took 0.053784 seconds and 4 git commands to generate.