[for-linus][PATCH 0/8] tracing: Fixes for v6.12 and earlier

From: Steven Rostedt
Date: Fri Oct 04 2024 - 09:56:49 EST



Various fixes for tracing:

- Fix tp_printk crashing the kernel

With the code that can handle a buffer from a previous boot, the
trace_check_vprintf() needed access to the delta of the address
space used by the old buffer and the current buffer. To do so,
the trace_array (tr) parameter was used. But when tp_printk is
enabled on the kernel command line, no trace buffer is used and
the trace event is sent directly to printk(). That meant the tr
field of the iterator descriptor was NULL, and since tp_printk still
uses trace_check_vprintf() it caused a NULL dereference.

- Add ptrace.h include to x86 ftrace file for completeness

- Fix rtla installation when done with out-of-tree build

- Fix the help messages in rtla that were incorrect

- Several fixes to fix races with the timerlat and hwlat code

Several locking issues were discovered with the coordination
between timerlat kthread creation and hotplug. As timerlat has
callbacks from hotplug code to start kthreads when CPUs come online.
There are also locking issues with grabbing the cpu_read_lock()
and the locks within timerlat.

Ben Hutchings (1):
tools/rtla: Fix installation from out-of-tree build

Eder Zulian (1):
rtla: Fix the help text in osnoise and timerlat top tools

Sami Tolvanen (1):
x86/ftrace: Include <asm/ptrace.h>

Steven Rostedt (1):
tracing: Fix trace_check_vprintf() when tp_printk is used

Wei Li (4):
tracing/timerlat: Fix duplicated kthread creation due to CPU online/offline
tracing/timerlat: Drop interface_lock in stop_kthread()
tracing/timerlat: Fix a race during cpuhp processing
tracing/hwlat: Fix a race during cpuhp processing

----
arch/x86/include/asm/ftrace.h | 2 ++
kernel/trace/trace.c | 15 +++++++++++++--
kernel/trace/trace_hwlat.c | 2 ++
kernel/trace/trace_osnoise.c | 22 +++++++++++++---------
tools/tracing/rtla/Makefile.rtla | 2 +-
tools/tracing/rtla/src/osnoise_top.c | 2 +-
tools/tracing/rtla/src/timerlat_top.c | 4 ++--
7 files changed, 34 insertions(+), 15 deletions(-)