projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7e9c323
)
kasan: call kasan_malloc() from __kmalloc_*track_caller()
author
Peter Collingbourne
<pcc@google.com>
Wed, 14 Sep 2022 02:00:01 +0000
(19:00 -0700)
committer
Vlastimil Babka
<vbabka@suse.cz>
Fri, 16 Sep 2022 21:05:59 +0000
(23:05 +0200)
We were failing to call kasan_malloc() from __kmalloc_*track_caller()
which was causing us to sometimes fail to produce KASAN error reports
for allocations made using e.g. devm_kcalloc(), as the KASAN poison was
not being initialized. Fix it.
Signed-off-by: Peter Collingbourne <pcc@google.com>
Cc: <stable@vger.kernel.org> # 5.15
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
mm/slub.c
patch
|
blob
|
blame
|
history
diff --git
a/mm/slub.c
b/mm/slub.c
index e6f3727b9ad288204d50c868e886f3baf6128f68..5ba6db62a5abd8da9b3400f90df7a27842c77992 100644
(file)
--- a/
mm/slub.c
+++ b/
mm/slub.c
@@
-4926,6
+4926,8
@@
void *__kmalloc_track_caller(size_t size, gfp_t gfpflags, unsigned long caller)
/* Honor the call site pointer we received. */
trace_kmalloc(caller, ret, s, size, s->size, gfpflags);
+ ret = kasan_kmalloc(s, ret, size, gfpflags);
+
return ret;
}
EXPORT_SYMBOL(__kmalloc_track_caller);
@@
-4957,6
+4959,8
@@
void *__kmalloc_node_track_caller(size_t size, gfp_t gfpflags,
/* Honor the call site pointer we received. */
trace_kmalloc_node(caller, ret, s, size, s->size, gfpflags, node);
+ ret = kasan_kmalloc(s, ret, size, gfpflags);
+
return ret;
}
EXPORT_SYMBOL(__kmalloc_node_track_caller);