mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 14:24:11 +08:00
kasan: fix bad call to unpoison_slab_object
commit1c61990d37
upstream. Commit29d7355a9d
("kasan: save alloc stack traces for mempool") messed up one of the calls to unpoison_slab_object: the last two arguments are supposed to be GFP flags and whether to init the object memory. Fix the call. Without this fix, __kasan_mempool_unpoison_object provides the object's size as GFP flags to unpoison_slab_object, which can cause LOCKDEP reports (and probably other issues). Link: https://lkml.kernel.org/r/20240614143238.60323-1-andrey.konovalov@linux.dev Fixes:29d7355a9d
("kasan: save alloc stack traces for mempool") Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com> Reported-by: Brad Spengler <spender@grsecurity.net> Acked-by: Marco Elver <elver@google.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
85c37103c3
commit
7970c84975
@ -532,7 +532,7 @@ void __kasan_mempool_unpoison_object(void *ptr, size_t size, unsigned long ip)
|
||||
return;
|
||||
|
||||
/* Unpoison the object and save alloc info for non-kmalloc() allocations. */
|
||||
unpoison_slab_object(slab->slab_cache, ptr, size, flags);
|
||||
unpoison_slab_object(slab->slab_cache, ptr, flags, false);
|
||||
|
||||
/* Poison the redzone and save alloc info for kmalloc() allocations. */
|
||||
if (is_kmalloc_cache(slab->slab_cache))
|
||||
|
Loading…
Reference in New Issue
Block a user