linux/kernel/trace
Steven Rostedt (VMware) 7d5fda1c84 tracing: Fix event probe removal from dynamic events
When an event probe is to be removed via the API that created it via the
dynamic events, an -ENOENT error is returned.

This is because the removal of the event probe does not expect to see the
event system and name that the event probe is attached to, even though
that's part of the API to create it. As the removal of probes is to use
the same API as they are created.

In fact, the removal is not consistent with the kprobes and uprobes
removal. Fix that by allowing various ways to remove the eprobe.

The eprobe is created with:

 e:[GROUP/]NAME SYSTEM/EVENT [OPTIONS]

Have it get removed by echoing in the following into dynamic_events:

 # Remove all eprobes with NAME
 echo '-:NAME' >> dynamic_events

 # Remove a specific eprobe
 echo '-:GROUP/NAME' >> dynamic_events
 echo '-:GROUP/NAME SYSTEM/EVENT' >> dynamic_events
 echo '-:NAME SYSTEM/EVENT' >> dynamic_events
 echo '-:GROUP/NAME SYSTEM/EVENT OPTIONS' >> dynamic_events
 echo '-:NAME SYSTEM/EVENT OPTIONS' >> dynamic_events

Link: https://lkml.kernel.org/r/20211012081925.0e19cc4f@gandalf.local.home
Link: https://lkml.kernel.org/r/20211013205533.630722129@goodmis.org

Suggested-by: Masami Hiramatsu <mhiramat@kernel.org>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Fixes: 7491e2c442 ("tracing: Add a probe that attaches to trace events")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2021-10-13 19:26:57 -04:00
..
blktrace.c blktrace: Fix uaf in blk_trace access after removing by sysfs 2021-09-24 11:06:15 -06:00
bpf_trace.c bpf: Fix bpf-next builds without CONFIG_BPF_EVENTS 2021-08-25 19:41:39 -07:00
bpf_trace.h
error_report-traces.c
fgraph.c
ftrace_internal.h
ftrace.c ftrace: Introduce ftrace_need_init_nop() 2021-08-03 14:31:40 +02:00
Kconfig tracing: Simplify the Kconfig dependency of FTRACE 2021-08-16 11:37:20 -04:00
kprobe_event_gen_test.c
Makefile tracing: Add a probe that attaches to trace events 2021-08-20 14:18:40 -04:00
power-traces.c
preemptirq_delay_test.c
ring_buffer_benchmark.c
ring_buffer.c tracing: Replace deprecated CPU-hotplug functions. 2021-08-17 15:47:14 -04:00
rpm-traces.c
synth_event_gen_test.c
trace_benchmark.c
trace_benchmark.h
trace_boot.c bootconfig: Rename xbc_node_find_child() to xbc_node_find_subkey() 2021-09-09 19:14:33 -04:00
trace_branch.c
trace_clock.c
trace_dynevent.c tracing: Have dynamic events have a ref counter 2021-08-18 18:13:47 -04:00
trace_dynevent.h tracing: Add DYNAMIC flag for dynamic events 2021-08-18 18:10:32 -04:00
trace_entries.h
trace_eprobe.c tracing: Fix event probe removal from dynamic events 2021-10-13 19:26:57 -04:00
trace_event_perf.c tracing: Have dynamic events have a ref counter 2021-08-18 18:13:47 -04:00
trace_events_filter_test.h
trace_events_filter.c
trace_events_hist.c tracing: Fix missing * in comment block 2021-10-10 22:27:40 -04:00
trace_events_inject.c
trace_events_synth.c tracing: Have dynamic events have a ref counter 2021-08-18 18:13:47 -04:00
trace_events_trigger.c tracing: Add a probe that attaches to trace events 2021-08-20 14:18:40 -04:00
trace_events.c tracing: Add migrate-disabled counter to tracing output. 2021-09-03 19:42:35 -04:00
trace_export.c
trace_functions_graph.c
trace_functions.c
trace_hwlat.c tracing: Replace deprecated CPU-hotplug functions. 2021-08-17 15:47:14 -04:00
trace_irqsoff.c
trace_kdb.c kdb: Rename members of struct kdbtab_t 2021-07-27 17:05:06 +01:00
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_kprobe.c tracing: Add a probe that attaches to trace events 2021-08-20 14:18:40 -04:00
trace_mmiotrace.c
trace_nop.c
trace_osnoise.c tracing/osnoise: Fix missed cpus_read_unlock() in start_per_cpu_kthreads() 2021-09-08 15:10:24 -04:00
trace_output.c tracing: Add migrate-disabled counter to tracing output. 2021-09-03 19:42:35 -04:00
trace_output.h
trace_preemptirq.c
trace_printk.c
trace_probe_tmpl.h tracing/probes: Have process_fetch_insn() take a void * instead of pt_regs 2021-08-19 09:09:03 -04:00
trace_probe.c tracing: Add a probe that attaches to trace events 2021-08-20 14:18:40 -04:00
trace_probe.h tracing: Add a probe that attaches to trace events 2021-08-20 14:18:40 -04:00
trace_recursion_record.c
trace_sched_switch.c
trace_sched_wakeup.c tracing: Change variable type as bool for clean-up 2021-06-30 09:19:14 -04:00
trace_selftest_dynamic.c
trace_selftest.c
trace_seq.c
trace_stack.c
trace_stat.c
trace_stat.h
trace_synth.h tracing: synth events: increase max fields count 2021-09-08 15:29:16 -04:00
trace_syscalls.c
trace_uprobe.c tracing/probes: Reject events which have the same name of existing one 2021-08-19 09:15:19 -04:00
trace.c tracing: Fix missing osnoise tracer on max_latency 2021-10-07 09:41:47 -04:00
trace.h tracing: Add a probe that attaches to trace events 2021-08-20 14:18:40 -04:00
tracing_map.c
tracing_map.h