linux/kernel/trace
Steven Rostedt 47ef834209 tracing: Fix fixed array of synthetic event
The commit 4d38328eb4 ("tracing: Fix synth event printk format for str
fields") replaced "%.*s" with "%s" but missed removing the number size of
the dynamic and static strings. The commit e1a453a57b ("tracing: Do not
add length to print format in synthetic events") fixed the dynamic part
but did not fix the static part. That is, with the commands:

  # echo 's:wake_lat char[] wakee; u64 delta;' >> /sys/kernel/tracing/dynamic_events
  # echo 'hist:keys=pid:ts=common_timestamp.usecs if !(common_flags & 0x18)' > /sys/kernel/tracing/events/sched/sched_waking/trigger
  # echo 'hist:keys=next_pid:delta=common_timestamp.usecs-$ts:onmatch(sched.sched_waking).trace(wake_lat,next_comm,$delta)' > /sys/kernel/tracing/events/sched/sched_switch/trigger

That caused the output of:

          <idle>-0       [001] d..5.   193.428167: wake_lat: wakee=(efault)sshd-sessiondelta=155
    sshd-session-879     [001] d..5.   193.811080: wake_lat: wakee=(efault)kworker/u34:5delta=58
          <idle>-0       [002] d..5.   193.811198: wake_lat: wakee=(efault)bashdelta=91

The commit e1a453a57b fixed the part where the synthetic event had
"char[] wakee". But if one were to replace that with a static size string:

  # echo 's:wake_lat char[16] wakee; u64 delta;' >> /sys/kernel/tracing/dynamic_events

Where "wakee" is defined as "char[16]" and not "char[]" making it a static
size, the code triggered the "(efaul)" again.

Remove the added STR_VAR_LEN_MAX size as the string is still going to be
nul terminated.

Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Douglas Raillard <douglas.raillard@arm.com>
Link: https://patch.msgid.link/20251204151935.5fa30355@gandalf.local.home
Fixes: e1a453a57b ("tracing: Do not add length to print format in synthetic events")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2025-12-05 15:38:10 -05:00
..
rv rv: Convert to use __free 2025-12-02 07:28:32 +01:00
Kconfig tracing updates for v6.19: 2025-12-05 09:51:37 -08:00
Makefile ftrace: Allow tracing of some of the tracing code 2025-11-26 15:13:30 -05:00
blktrace.c tracing updates for v6.19: 2025-12-05 09:51:37 -08:00
bpf_trace.c bpf: make kprobe_multi_link_prog_run always_inline 2025-11-29 09:47:10 -08:00
bpf_trace.h
error_report-traces.c
fgraph.c ftrace fixes for v6.19: 2025-12-05 10:13:04 -08:00
fprobe.c tracing: fprobe: Fix to remove recorded module addresses from filter 2025-09-24 23:18:26 +09:00
ftrace.c tracing updates for v6.19: 2025-12-05 09:51:37 -08:00
ftrace_internal.h
kprobe_event_gen_test.c
pid_list.c trace/pid_list: optimize pid_list->lock contention 2025-11-13 15:15:54 -05:00
pid_list.h trace/pid_list: optimize pid_list->lock contention 2025-11-13 15:15:54 -05:00
power-traces.c PM: cpufreq: powernv/tracing: Move powernv_throttle trace event 2025-07-21 16:40:56 -04:00
preemptirq_delay_test.c kernel: trace: preemptirq_delay_test: use offstack cpu mask 2025-07-08 18:17:38 -04:00
rethook.c
ring_buffer.c - Add helper functions for allocations 2025-12-05 10:50:24 -08:00
ring_buffer_benchmark.c
rpm-traces.c
synth_event_gen_test.c
trace.c tracing: Fix enabling of tracing on file release 2025-12-05 15:17:56 -05:00
trace.h ftrace fixes for v6.19: 2025-12-05 10:13:04 -08:00
trace_benchmark.c
trace_benchmark.h
trace_boot.c
trace_branch.c
trace_btf.c
trace_btf.h
trace_clock.c
trace_dynevent.c tracing: Report wrong dynamic event command 2025-11-10 19:26:14 -05:00
trace_dynevent.h
trace_entries.h function_graph: Enable funcgraph-args and funcgraph-retaddr to work simultaneously 2025-11-26 15:13:30 -05:00
trace_eprobe.c tracing: Merge struct event_trigger_ops into struct event_command 2025-11-26 15:13:29 -05:00
trace_event_perf.c
trace_events.c tracing: Allow tracer to add more than 32 options 2025-11-04 21:44:00 +09:00
trace_events_filter.c tracing changes for 6.17 2025-08-01 10:29:36 -07:00
trace_events_filter_test.h
trace_events_hist.c tracing updates for v6.19: 2025-12-05 09:51:37 -08:00
trace_events_inject.c
trace_events_synth.c tracing: Fix fixed array of synthetic event 2025-12-05 15:38:10 -05:00
trace_events_trigger.c tracing: Use strim() in trigger_process_regex() instead of skip_spaces() 2025-11-26 15:13:30 -05:00
trace_events_user.c trace: use override credential guard 2025-11-05 23:11:52 +01:00
trace_export.c
trace_fprobe.c tracing updates for v6.19: 2025-12-05 09:51:37 -08:00
trace_functions.c tracing: Have function tracer define options per instance 2025-11-12 09:59:54 -05:00
trace_functions_graph.c ftrace fixes for v6.19: 2025-12-05 10:13:04 -08:00
trace_hwlat.c tracing: Replace opencoded cpumask_next_wrap() in move_to_next_cpu() 2025-07-08 18:17:29 -04:00
trace_irqsoff.c tracing: Allow tracer to add more than 32 options 2025-11-04 21:44:00 +09:00
trace_kdb.c tracing: Allow tracer to add more than 32 options 2025-11-04 21:44:00 +09:00
trace_kprobe.c tracing: Allow tracer to add more than 32 options 2025-11-04 21:44:00 +09:00
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_mmiotrace.c
trace_nop.c
trace_osnoise.c tracing clean up and fixes for v6.18: 2025-10-09 12:18:22 -07:00
trace_output.c tracing updates for v6.19: 2025-12-05 09:51:37 -08:00
trace_output.h tracing: Allow tracer to add more than 32 options 2025-11-04 21:44:00 +09:00
trace_preemptirq.c
trace_printk.c
trace_probe.c Probes updates for v6.17: 2025-07-30 15:38:01 -07:00
trace_probe.h tracing: Fix race condition in kprobe initialization causing NULL pointer dereference 2025-10-02 08:05:01 +09:00
trace_probe_kernel.h
trace_probe_tmpl.h
trace_recursion_record.c
trace_sched_switch.c tracing: Ensure optimized hashing works 2025-09-30 17:27:58 -04:00
trace_sched_wakeup.c tracing: Allow tracer to add more than 32 options 2025-11-04 21:44:00 +09:00
trace_selftest.c
trace_selftest_dynamic.c
trace_seq.c
trace_stack.c tracing updates for v6.16: 2025-05-29 21:04:36 -07:00
trace_stat.c
trace_stat.h
trace_synth.h
trace_syscalls.c tracing: Hide __NR_utimensat and _NR_mq_timedsend when not defined 2025-11-10 14:23:53 -05:00
trace_uprobe.c tracing: Fix race condition in kprobe initialization causing NULL pointer dereference 2025-10-02 08:05:01 +09:00
tracing_map.c tracing: Use vmalloc_array() to improve code 2025-09-23 09:31:58 -04:00
tracing_map.h