linux-stable/kernel/trace
Steven Rostedt (VMware) 8b0e6c744f tracing: Add DYNAMIC flag for dynamic events
To differentiate between static and dynamic events, add a new flag
DYNAMIC to the event flags that all dynamic events have set. This will
allow to differentiate when attaching to a dynamic event from a static
event.

Static events have a mod pointer that references the module they were
created in (or NULL for core kernel). This can be incremented when the
event has something attached to it. But there exists no such mechanism for
dynamic events. This is dangerous as the dynamic events may now disappear
without the "attachment" knowing that it no longer exists.

To enforce the dynamic flag, change dyn_event_add() to pass the event that
is being created such that it can set the DYNAMIC flag of the event. This
helps make sure that no location that creates a dynamic event misses
setting this flag.

Link: https://lore.kernel.org/linux-trace-devel/20210813004448.51c7de69ce432d338f4d226b@kernel.org/
Link: https://lkml.kernel.org/r/20210817035026.936958254@goodmis.org

Suggested-by: Masami Hiramatsu <mhiramat@kernel.org>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2021-08-18 18:10:32 -04:00
..
blktrace.c
bpf_trace.c Tracing updates for 5.14: 2021-07-03 11:13:22 -07:00
bpf_trace.h
error_report-traces.c
fgraph.c
ftrace.c ftrace: Remove redundant initialization of variable ret 2021-07-23 08:46:02 -04:00
ftrace_internal.h
Kconfig tracing: Simplify the Kconfig dependency of FTRACE 2021-08-16 11:37:20 -04:00
kprobe_event_gen_test.c
Makefile trace: Add osnoise tracer 2021-06-25 19:57:01 -04:00
power-traces.c
preemptirq_delay_test.c
ring_buffer.c tracing: Replace deprecated CPU-hotplug functions. 2021-08-17 15:47:14 -04:00
ring_buffer_benchmark.c
rpm-traces.c
synth_event_gen_test.c
trace.c tracing/histogram: Update the documentation for the buckets modifier 2021-08-16 11:37:20 -04:00
trace.h tracing: Apply trace filters on all output channels 2021-08-16 11:01:52 -04:00
trace_benchmark.c
trace_benchmark.h
trace_boot.c tracing/boot: Show correct histogram error command 2021-08-16 11:37:21 -04:00
trace_branch.c
trace_clock.c tracing: Do no increment trace_clock_global() by one 2021-06-18 09:10:00 -04:00
trace_dynevent.c
trace_dynevent.h tracing: Add DYNAMIC flag for dynamic events 2021-08-18 18:10:32 -04:00
trace_entries.h trace: Add timerlat tracer 2021-06-25 19:57:24 -04:00
trace_event_perf.c
trace_events.c
trace_events_filter.c
trace_events_filter_test.h
trace_events_hist.c tracing: Allow execnames to be passed as args for synthetic events 2021-08-16 11:37:20 -04:00
trace_events_inject.c
trace_events_synth.c tracing: Add DYNAMIC flag for dynamic events 2021-08-18 18:10:32 -04:00
trace_events_trigger.c
trace_export.c
trace_functions.c
trace_functions_graph.c
trace_hwlat.c tracing: Replace deprecated CPU-hotplug functions. 2021-08-17 15:47:14 -04:00
trace_irqsoff.c
trace_kdb.c
trace_kprobe.c tracing: Add DYNAMIC flag for dynamic events 2021-08-18 18:10:32 -04:00
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_mmiotrace.c
trace_nop.c
trace_osnoise.c tracing: Replace deprecated CPU-hotplug functions. 2021-08-17 15:47:14 -04:00
trace_output.c trace: Add timerlat tracer 2021-06-25 19:57:24 -04:00
trace_output.h
trace_preemptirq.c
trace_printk.c
trace_probe.c
trace_probe.h
trace_probe_tmpl.h
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.c
trace_selftest_dynamic.c
trace_seq.c
trace_stack.c
trace_stat.c
trace_stat.h
trace_synth.h tracing: Synthetic event field_pos is an index not a boolean 2021-07-23 08:43:04 -04:00
trace_syscalls.c
trace_uprobe.c tracing: Add DYNAMIC flag for dynamic events 2021-08-18 18:10:32 -04:00
tracing_map.c
tracing_map.h