twx-linux/kernel/trace
Steven Rostedt a8c5b0ed89 tracing: Fix filter string testing
The filter string testing uses strncpy_from_kernel/user_nofault() to
retrieve the string to test the filter against. The if() statement was
incorrect as it considered 0 as a fault, when it is only negative that it
faulted.

Running the following commands:

  # cd /sys/kernel/tracing
  # echo "filename.ustring ~ \"/proc*\"" > events/syscalls/sys_enter_openat/filter
  # echo 1 > events/syscalls/sys_enter_openat/enable
  # ls /proc/$$/maps
  # cat trace

Would produce nothing, but with the fix it will produce something like:

      ls-1192    [007] .....  8169.828333: sys_openat(dfd: ffffffffffffff9c, filename: 7efc18359904, flags: 80000, mode: 0)

Link: https://lore.kernel.org/all/CAEf4BzbVPQ=BjWztmEwBPRKHUwNfKBkS3kce-Rzka6zvbQeVpg@mail.gmail.com/

Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: https://lore.kernel.org/20250417183003.505835fb@gandalf.local.home
Fixes: 77360f9bbc7e5 ("tracing: Add test for user space strings when filtering on string pointers")
Reported-by: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Reported-by: Mykyta Yatsenko <mykyta.yatsenko5@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2025-04-17 22:16:56 -04:00
..
rv rv: Fix out-of-bound memory access in rv_is_container_monitor() 2025-04-12 12:13:30 -04:00
blktrace.c
bpf_trace.c Modules changes for 6.15-rc1 2025-03-30 15:44:36 -07:00
bpf_trace.h
error_report-traces.c
fgraph.c
fprobe.c tracing: fprobe: Cleanup fprobe hash when module unloading 2025-04-08 08:46:25 +09:00
ftrace_internal.h
ftrace.c ftrace: fix incorrect hash size in register_ftrace_direct() 2025-04-17 15:16:51 -04:00
Kconfig ftrace: Have tracing function args depend on PROBE_EVENTS_BTF_ARGS 2025-04-02 09:50:56 -04:00
kprobe_event_gen_test.c
Makefile
pid_list.c
pid_list.h
power-traces.c
preemptirq_delay_test.c
rethook.c
ring_buffer_benchmark.c
ring_buffer.c Persistent buffer cleanups and simplifications for v6.15: 2025-04-03 16:09:29 -07:00
rpm-traces.c
synth_event_gen_test.c
trace_benchmark.c
trace_benchmark.h
trace_boot.c
trace_branch.c
trace_btf.c
trace_btf.h
trace_clock.c
trace_dynevent.c
trace_dynevent.h
trace_entries.h ftrace: Fix type of ftrace_graph_ent_entry.depth 2025-04-17 15:19:15 -04:00
trace_eprobe.c Probes updates for v6.15: 2025-03-27 19:31:34 -07:00
trace_event_perf.c
trace_events_filter_test.h
trace_events_filter.c tracing: Fix filter string testing 2025-04-17 22:16:56 -04:00
trace_events_hist.c
trace_events_inject.c
trace_events_synth.c tracing: Do not add length to print format in synthetic events 2025-04-09 11:34:21 -04:00
trace_events_trigger.c
trace_events_user.c
trace_events.c tracing: Verify event formats that have "%*p.." 2025-04-02 09:51:26 -04:00
trace_export.c
trace_fprobe.c Probes fixes for v6.14: 2025-04-08 12:51:34 -07:00
trace_functions_graph.c ftrace: Do not have print_graph_retval() add a newline 2025-04-12 12:13:30 -04:00
trace_functions.c
trace_hwlat.c
trace_irqsoff.c
trace_kdb.c
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_kprobe.c Modules changes for 6.15-rc1 2025-03-30 15:44:36 -07:00
trace_mmiotrace.c
trace_nop.c
trace_osnoise.c
trace_output.c ring-buffer updates for v6.15 2025-03-31 13:37:22 -07:00
trace_output.h
trace_preemptirq.c
trace_printk.c
trace_probe_kernel.h
trace_probe_tmpl.h
trace_probe.c
trace_probe.h
trace_recursion_record.c
trace_sched_switch.c
trace_sched_wakeup.c
trace_selftest_dynamic.c
trace_selftest.c
trace_seq.c
trace_stack.c
trace_stat.c
trace_stat.h
trace_synth.h
trace_syscalls.c
trace_uprobe.c
trace.c tracing: Hide get_vm_area() from MMUless builds 2025-04-07 12:02:11 -04:00
trace.h Persistent buffer cleanups and simplifications for v6.15: 2025-04-03 16:09:29 -07:00
tracing_map.c
tracing_map.h