Steven Rostedt (VMware)
56d3793229
tracing: Fix very unlikely race of registering two stat tracers
...
[ Upstream commit dfb6cd1e654315168e36d947471bd2a0ccd834ae ]
Looking through old emails in my INBOX, I came across a patch from Luis
Henriques that attempted to fix a race of two stat tracers registering the
same stat trace (extremely unlikely, as this is done in the kernel, and
probably doesn't even exist). The submitted patch wasn't quite right as it
needed to deal with clean up a bit better (if two stat tracers were the
same, it would have the same files).
But to make the code cleaner, all we needed to do is to keep the
all_stat_sessions_mutex held for most of the registering function.
Link: http://lkml.kernel.org/r/1410299375-20068-1-git-send-email-luis.henriques@canonical.com
Fixes: 002bb86d8d ("tracing/ftrace: separate events tracing and stats tracing engine")
Reported-by: Luis Henriques <luis.henriques@canonical.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-02-24 08:34:39 +01:00
..
blktrace.c
for-4.19/post-20180822
2018-08-22 13:38:05 -07:00
bpf_trace.c
bpf: fix nested bpf tracepoints with per-cpu data
2019-07-03 13:14:48 +02:00
ftrace.c
ftrace: Protect ftrace_graph_hash with ftrace_sync
2020-02-11 04:34:05 -08:00
Kconfig
Masami found an off by one bug in the code that keeps "notrace" functions
2018-08-23 13:07:00 -07:00
Makefile
tracing: Allow gcov profiling on only ftrace subsystem
2018-08-21 09:11:49 -04:00
power-traces.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
preemptirq_delay_test.c
tracing: Use trace_clock_local() for looping in preemptirq_delay_test.c
2018-10-17 15:35:33 -04:00
ring_buffer.c
trace: Fix preempt_enable_no_resched() abuse
2019-05-02 09:58:54 +02:00
ring_buffer_benchmark.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
rpm-traces.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
trace.c
tracing: Fix lock inversion in trace_event_enable_tgid_record()
2020-01-09 10:19:02 +01:00
trace.h
ftrace: Protect ftrace_graph_hash with ftrace_sync
2020-02-11 04:34:05 -08:00
trace_benchmark.c
rcu: Rename cond_resched_rcu_qs() to cond_resched_tasks_rcu_qs()
2018-05-15 10:27:29 -07:00
trace_benchmark.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_branch.c
Revert "x86/uaccess, ftrace: Fix ftrace_likely_update() vs. SMAP"
2019-07-03 13:14:41 +02:00
trace_clock.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_entries.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_event_perf.c
tracing: Fix race in perf_trace_buf initialization
2019-10-29 09:20:03 +01:00
trace_events.c
tracing: Fix lock inversion in trace_event_enable_tgid_record()
2020-01-09 10:19:02 +01:00
trace_events_filter.c
tracing: Avoid memory leak in process_system_preds()
2020-01-09 10:19:02 +01:00
trace_events_filter_test.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_events_hist.c
tracing: Fix histogram code when expression has same var as value
2020-01-29 16:43:23 +01:00
trace_events_trigger.c
tracing: trigger: Replace unneeded RCU-list traversals
2020-01-29 16:43:18 +01:00
trace_export.c
tracing: Add trigger file for trace_markers tracefs/ftrace/print
2018-05-29 08:28:53 -04:00
trace_functions.c
tracing: Update stack trace skipping for ORC unwinder
2018-01-23 15:57:00 -05:00
trace_functions_graph.c
tracing/fgraph: Fix set_graph_function from showing interrupts
2018-12-08 12:59:07 +01:00
trace_hwlat.c
tracing/hwlat: Don't ignore outer-loop duration when calculating max_latency
2019-10-17 13:45:39 -07:00
trace_irqsoff.c
tracing/fgraph: Fix set_graph_function from showing interrupts
2018-12-08 12:59:07 +01:00
trace_kdb.c
tracing: Silence GCC 9 array bounds warning
2019-06-25 11:35:52 +08:00
trace_kprobe.c
tracing/kprobe: Check whether the non-suffixed symbol is notrace
2019-12-31 16:36:02 +01:00
trace_kprobe_selftest.c
selftest/ftrace: Move kprobe selftest function to separate compile unit
2018-07-30 18:41:04 -04:00
trace_kprobe_selftest.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_mmiotrace.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
trace_nop.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
trace_output.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_output.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_preemptirq.c
tracing: More reverting of "tracing: Centralize preemptirq tracepoints and unify their usage"
2018-08-10 15:12:00 -04:00
trace_printk.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_probe.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_probe.h
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_sched_switch.c
tracing: Fix sched switch start/stop refcount racy updates
2020-02-11 04:33:55 -08:00
trace_sched_wakeup.c
kernel/trace: Fix do not unregister tracepoints when register sched_migrate_task fail
2020-01-14 20:06:59 +01:00
trace_selftest.c
Tracing updates for 4.15:
2017-11-17 14:58:01 -08:00
trace_selftest_dynamic.c
ftrace: Mark function tracer test functions noinline/noclone
2018-01-23 15:57:29 -05:00
trace_seq.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_stack.c
tracing: Have stack tracer compile when MCOUNT_INSN_SIZE is not defined
2020-01-14 20:06:59 +01:00
trace_stat.c
tracing: Fix very unlikely race of registering two stat tracers
2020-02-24 08:34:39 +01:00
trace_stat.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_syscalls.c
Tracing updates for 4.15:
2017-11-17 14:58:01 -08:00
trace_uprobe.c
tracing/uprobes: Fix output for multiple string arguments
2019-02-20 10:25:48 +01:00
tracing_map.c
tracing: Have the histogram compare functions convert to u64 first
2020-01-09 10:19:02 +01:00
tracing_map.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00