[for-linus][PATCH 0/3] tracing: Some more fixes before pushing to 6.6

From: Steven Rostedt
Date: Tue Sep 12 2023 - 14:22:24 EST



Tracing updates for 6.6:

- Fix NULL pointer dereference with eventfs_remove_rec()
If an allocation fails in one of the eventfs_add_*() functions,
the caller of it in event_subsystem_dir() or event_create_dir()
assigns the result to the structure. But it's assigning the ERR_PTR
and not NULL. This was passed to eventfs_remove_rec() which expects
either a good pointer or a NULL, not ERR_PTR. The fix is to not
assign the ERR_PTR to the structure, but to keep it NULL on error.

- Fix list_for_each_rcu() to use list_for_each_srcu() in
dcache_dir_open_wrapper(). One iteration of the code used RCU
but because it had to call sleepable code, it had to be changed
to use SRCU, but one of the iterations was missed.

- Fix synthetic event print function to use "as_u64" instead of
passing in a pointer to the union. To fix big/little endian issues,
the u64 that represented several types was turned into a union to
define the types properly.

git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace/urgent

Head SHA1: c8414dab164a74bd3bb859a2d836cb537d6b9298


Jinjie Ruan (1):
eventfs: Fix the NULL pointer dereference bug in eventfs_remove_rec()

Steven Rostedt (Google) (1):
tracefs/eventfs: Use list_for_each_srcu() in dcache_dir_open_wrapper()

Tero Kristo (1):
tracing/synthetic: Print out u64 values properly

----
fs/tracefs/event_inode.c | 3 ++-
kernel/trace/trace_events.c | 13 +++++++++----
kernel/trace/trace_events_synth.c | 2 +-
3 files changed, 12 insertions(+), 6 deletions(-)