]> git.baikalelectronics.ru Git - kernel.git/commit
mm, tracing: Fix kmem_cache_free trace event to not print stale pointers
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 25 Feb 2021 17:49:58 +0000 (12:49 -0500)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 25 Feb 2021 17:49:58 +0000 (12:49 -0500)
commitbf20f023359c64c92b0913787fe010a522a49c31
treeb6bc74d8536cacfc502403a1417f7c0673b11104
parent781cbb9006c8fc68aad37e5eec0c8cdd54b4a488
mm, tracing: Fix kmem_cache_free trace event to not print stale pointers

The update to kmem_cache_free trace event added printing of the slab name in
the trace event. But it only stores the pointer of the name which will be
printed as a string when the event is read some time in the future. This is
dangerous because the name could be freed in the mean time and when reading
the trace event it would try to dereference the string name by the pointer
to the name that has been freed.

Instead, use the trace event helper macros __string(), __assign_str(), and
__get_str() that are for this very case.

Cc: Jacob Wen <jian.w.wen@oracle.com>
Fixes: 781cbb9006c8 ("mm, tracing: record slab name for kmem_cache_free()")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
include/trace/events/kmem.h