mm/slab_common: Restore passing "caller" for tracing
Subsystems (3)
PATCH 1/1 mm/slab_common: Restore passing "caller" for tracing
The "caller" argument was accidentally being ignored in a few places that were recently refactored. Restore these "caller" arguments, instead of _RET_IP_.
--- mm/slab_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
mm/slab_common.c +2 -2
@@ -941,7 +941,7 @@ void *__do_kmalloc_node(size_t size, gfp_t flags, int node, unsigned long callerif (unlikely (size >KMALLOC_MAX_CACHE_SIZE )) { ret =__kmalloc_large_node (size, flags, node); -trace_kmalloc (_RET_IP_, ret, size, +trace_kmalloc (caller, ret, size,PAGE_SIZE <<get_order (size), flags, node);return ret; }
@@ -953,7 +953,7 @@ void *__do_kmalloc_node(size_t size, gfp_t flags, int node, unsigned long caller ret =__kmem_cache_alloc_node (s, flags, node, size, caller); ret =kasan_kmalloc (s, ret, size, flags); -trace_kmalloc (_RET_IP_, ret, size, s->size, flags, node); +trace_kmalloc (caller, ret, size, s->size, flags, node);return ret; }
Signature · 1 line
2.34.1
Quoted 5 lines · Kees Cook
The "caller" argument was accidentally being ignored in a few places that were recently refactored. Restore these "caller" arguments, instead of _RET_IP_.
Cc Hyeonggon Yoo <[email protected]>
Quoted 10 lines
Cc Vlastimil Babka <[email protected]>Cc Christoph Lameter <[email protected]>Cc Pekka Enberg <[email protected]>Cc David Rientjes <[email protected]>Cc Joonsoo Kim <[email protected]>Cc Andrew Morton <[email protected]>Cc Roman Gushchin <[email protected]>Fixes 11e9734bcb6a ("mm/slab_common: unify NUMA and UMA version of tracepoints")
BTW I think it can be just sent to next release candidate. The referred commit was merged in this development cycle.
Quoted 29 lines
Signed-off-by Kees Cook <[email protected]>--- mm/slab_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)mm/slab_common.c +2
-2@@ -941,7 +941,7 @@ void *__do_kmalloc_node(size_t size, gfp_t flags, int node, unsigned long callerif (unlikely (size >KMALLOC_MAX_CACHE_SIZE )) { ret =__kmalloc_large_node (size, flags, node); -trace_kmalloc (_RET_IP_, ret, size, +trace_kmalloc (caller, ret, size,PAGE_SIZE <<get_order (size), flags, node);return ret; }@@ -953,7 +953,7 @@ void *__do_kmalloc_node(size_t size, gfp_t flags, int node, unsigned long caller ret =__kmem_cache_alloc_node (s, flags, node, size, caller); ret =kasan_kmalloc (s, ret, size, flags); -trace_kmalloc (_RET_IP_, ret, size, s->size, flags, node); +trace_kmalloc (caller, ret, size, s->size, flags, node);return ret; }Signature · 1 line
2.34.1
Thanks for catching this!
Signature · 2 lines
Thanks, Hyeonggon
Quoted 21 lines · Hyeonggon Yoo
Quoted 5 lines · Kees Cook
The "caller" argument was accidentally being ignored in a few places that were recently refactored. Restore these "caller" arguments, instead of _RET_IP_.
Cc Hyeonggon Yoo <[email protected]>Acked-by Hyeonggon Yoo <[email protected]>Quoted 10 lines
Cc Vlastimil Babka <[email protected]>Cc Christoph Lameter <[email protected]>Cc Pekka Enberg <[email protected]>Cc David Rientjes <[email protected]>Cc Joonsoo Kim <[email protected]>Cc Andrew Morton <[email protected]>Cc Roman Gushchin <[email protected]>Fixes 11e9734bcb6a ("mm/slab_common: unify NUMA and UMA version of tracepoints")
Quoted 2 lines
BTW I think it can be just sent to next release candidate. The referred commit was merged in this development cycle.
Yep, dropped the Cc stable for that reason. Pushed to slab/for-6.1-rc4/fixes and will send a PR to Linus in few days. Thanks!
Quoted 33 lines
Quoted 29 lines
Signed-off-by Kees Cook <[email protected]>--- mm/slab_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)mm/slab_common.c +2
-2@@ -941,7 +941,7 @@ void *__do_kmalloc_node(size_t size, gfp_t flags, int node, unsigned long callerif (unlikely (size >KMALLOC_MAX_CACHE_SIZE )) { ret =__kmalloc_large_node (size, flags, node); -trace_kmalloc (_RET_IP_, ret, size, +trace_kmalloc (caller, ret, size,PAGE_SIZE <<get_order (size), flags, node);return ret; }@@ -953,7 +953,7 @@ void *__do_kmalloc_node(size_t size, gfp_t flags, int node, unsigned long caller ret =__kmem_cache_alloc_node (s, flags, node, size, caller); ret =kasan_kmalloc (s, ret, size, flags); -trace_kmalloc (_RET_IP_, ret, size, s->size, flags, node); +trace_kmalloc (caller, ret, size, s->size, flags, node);return ret; }Signature · 1 line
2.34.1Thanks for catching this!