From: Greg Kroah-Hartman Date: Tue, 1 Aug 2023 06:47:39 +0000 (+0200) Subject: 5.15-stable patches X-Git-Tag: v5.15.124~30 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e67b280501ee997c177858e8b1af0797c4ab8871;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: tracing-fix-trace_event_raw_event_synth-if-else-statement.patch --- diff --git a/queue-5.15/series b/queue-5.15/series index c189ec3b2dd..a4b79cae4ea 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -145,3 +145,4 @@ dm-cache-policy-smq-ensure-io-doesn-t-prevent-cleaner-policy-progress.patch rbd-make-get_lock_owner_info-return-a-single-locker-or-null.patch rbd-harden-get_lock_owner_info-a-bit.patch rbd-retrieve-and-check-lock-owner-twice-before-blocklisting.patch +tracing-fix-trace_event_raw_event_synth-if-else-statement.patch diff --git a/queue-5.15/tracing-fix-trace_event_raw_event_synth-if-else-statement.patch b/queue-5.15/tracing-fix-trace_event_raw_event_synth-if-else-statement.patch new file mode 100644 index 00000000000..89143c4c4c6 --- /dev/null +++ b/queue-5.15/tracing-fix-trace_event_raw_event_synth-if-else-statement.patch @@ -0,0 +1,51 @@ +From 9971c3f944489ff7aacb9d25e0cde841a5f6018a Mon Sep 17 00:00:00 2001 +From: "Steven Rostedt (Google)" +Date: Tue, 31 Jan 2023 09:52:37 -0500 +Subject: tracing: Fix trace_event_raw_event_synth() if else statement + +From: Steven Rostedt (Google) + +commit 9971c3f944489ff7aacb9d25e0cde841a5f6018a upstream. + +The test to check if the field is a stack is to be done if it is not a +string. But the code had: + + } if (event->fields[i]->is_stack) { + +and not + + } else if (event->fields[i]->is_stack) { + +which would cause it to always be tested. Worse yet, this also included an +"else" statement that was only to be called if the field was not a string +and a stack, but this code allows it to be called if it was a string (and +not a stack). + +Also fixed some whitespace issues. + +Link: https://lore.kernel.org/all/202301302110.mEtNwkBD-lkp@intel.com/ +Link: https://lore.kernel.org/linux-trace-kernel/20230131095237.63e3ca8d@gandalf.local.home + +Cc: Tom Zanussi +Fixes: 00cf3d672a9d ("tracing: Allow synthetic events to pass around stacktraces") +Reported-by: kernel test robot +Signed-off-by: Steven Rostedt (Google) +Acked-by: Masami Hiramatsu (Google) +Signed-off-by: Greg Kroah-Hartman +--- + kernel/trace/trace_events_synth.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/kernel/trace/trace_events_synth.c ++++ b/kernel/trace/trace_events_synth.c +@@ -557,8 +557,8 @@ static notrace void trace_event_raw_even + event->fields[i]->is_dynamic, + data_size, &n_u64); + data_size += len; /* only dynamic string increments */ +- } if (event->fields[i]->is_stack) { +- long *stack = (long *)(long)var_ref_vals[val_idx]; ++ } else if (event->fields[i]->is_stack) { ++ long *stack = (long *)(long)var_ref_vals[val_idx]; + + len = trace_stack(entry, event, stack, + data_size, &n_u64);