linux_dsm_epyc7002/kernel/trace
Mathieu Desnoyers 64ae572bc7 tracing: Fix sched switch start/stop refcount racy updates
Reading the sched_cmdline_ref and sched_tgid_ref initial state within
tracing_start_sched_switch without holding the sched_register_mutex is
racy against concurrent updates, which can lead to tracepoint probes
being registered more than once (and thus trigger warnings within
tracepoint.c).

[ May be the fix for this bug ]
Link: https://lore.kernel.org/r/000000000000ab6f84056c786b93@google.com

Link: http://lkml.kernel.org/r/20190817141208.15226-1-mathieu.desnoyers@efficios.com

Cc: stable@vger.kernel.org
CC: Steven Rostedt (VMware) <rostedt@goodmis.org>
CC: Joel Fernandes (Google) <joel@joelfernandes.org>
CC: Peter Zijlstra <peterz@infradead.org>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Paul E. McKenney <paulmck@linux.ibm.com>
Reported-by: syzbot+774fddf07b7ab29a1e55@syzkaller.appspotmail.com
Fixes: d914ba37d7 ("tracing: Add support for recording tgid of tasks")
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2020-01-30 09:46:10 -05:00
..
blktrace.c tracing: Make struct ring_buffer less ambiguous 2020-01-13 13:19:38 -05:00
bpf_trace.c Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-12-03 09:29:50 -08:00
fgraph.c tracing: Define MCOUNT_INSN_SIZE when not defined without direct calls 2020-01-02 21:56:44 -05:00
ftrace_internal.h treewide: Rename rcu_dereference_raw_notrace() to _check() 2019-08-01 14:16:21 -07:00
ftrace.c tracing: Use pr_err() instead of WARN() for memory failures 2020-01-25 10:52:30 -05:00
Kconfig tracing/boot: Add boot-time tracing 2020-01-13 13:19:41 -05:00
Makefile tracing/boot: Add boot-time tracing 2020-01-13 13:19:41 -05:00
power-traces.c
preemptirq_delay_test.c preemptirq_delay_test: Add the burst feature and a sysfs trigger 2019-11-13 09:37:28 -05:00
ring_buffer_benchmark.c tracing: Make struct ring_buffer less ambiguous 2020-01-13 13:19:38 -05:00
ring_buffer.c ring-buffer: Remove abandoned macro RB_MISSED_FLAGS 2020-01-21 18:38:02 -05:00
rpm-traces.c
trace_benchmark.c trace: Use pr_warn instead of pr_warning 2019-10-18 15:01:57 +02:00
trace_benchmark.h tracing: Fix SPDX format headers to use C++ style comments 2018-08-16 19:08:06 -04:00
trace_boot.c tracing/boot: Move external function declarations to kernel/trace/trace.h 2020-01-29 08:49:04 -05:00
trace_branch.c tracing: Make struct ring_buffer less ambiguous 2020-01-13 13:19:38 -05:00
trace_clock.c tracing: Add SPDX License format tags to tracing files 2018-08-16 19:08:06 -04:00
trace_dynevent.c tracing: Add tracing_check_open_get_tr() 2019-10-12 20:44:07 -04:00
trace_dynevent.h tracing/dynevent: Pass extra arguments to match operation 2019-08-31 12:19:38 -04:00
trace_entries.h tracing: Set kernel_stack's caller size properly 2020-01-24 18:09:40 -05:00
trace_event_perf.c Merge branch 'perf/urgent' into perf/core, to pick up fixes 2019-10-28 12:38:26 +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_filter.c tracing: Avoid memory leak in process_system_preds() 2019-12-19 18:24:17 -05:00
trace_events_hist.c tracing: Add 'hist:' to hist trigger error log error string 2020-01-28 23:17:10 -05:00
trace_events_inject.c tracing: Initialize val to zero in parse_entry of inject code 2020-01-02 19:04:57 -05:00
trace_events_trigger.c tracing: trigger: Replace unneeded RCU-list traversals 2020-01-13 15:59:11 -05:00
trace_events.c tracing: kprobes: Output kprobe event to printk buffer 2020-01-13 13:19:40 -05:00
trace_export.c tracing: Make internal ftrace events static 2019-11-13 09:37:29 -05:00
trace_functions_graph.c tracing: Make struct ring_buffer less ambiguous 2020-01-13 13:19:38 -05:00
trace_functions.c tracing: Rename trace_buffer to array_buffer 2020-01-13 13:19:38 -05:00
trace_hwlat.c tracing: Make struct ring_buffer less ambiguous 2020-01-13 13:19:38 -05:00
trace_irqsoff.c tracing: Rename trace_buffer to array_buffer 2020-01-13 13:19:38 -05:00
trace_kdb.c tracing: Rename trace_buffer to array_buffer 2020-01-13 13:19:38 -05: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_kprobe.c trace/kprobe: Remove unused MAX_KPROBE_CMDLINE_SIZE 2020-01-22 07:07:38 -05:00
trace_mmiotrace.c tracing: Make struct ring_buffer less ambiguous 2020-01-13 13:19:38 -05:00
trace_nop.c
trace_output.c tracing: Rename trace_buffer to array_buffer 2020-01-13 13:19:38 -05: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 kprobes: Prohibit probing on hardirq tracers 2019-02-13 08:16:40 +01:00
trace_printk.c tracing: Add locked_down checks to the open calls of files created for tracefs 2019-10-12 20:48:06 -04:00
trace_probe_tmpl.h tracing/probe: Support user-space dereference 2019-05-25 23:04:42 -04:00
trace_probe.c tracing/probe: Fix to check the difference of nr_args before adding probe 2019-09-28 17:07:53 -04:00
trace_probe.h tracing/probe: Reject exactly same probe event 2019-09-19 11:09:16 -04:00
trace_sched_switch.c tracing: Fix sched switch start/stop refcount racy updates 2020-01-30 09:46:10 -05:00
trace_sched_wakeup.c tracing: Make struct ring_buffer less ambiguous 2020-01-13 13:19:38 -05:00
trace_selftest_dynamic.c
trace_selftest.c tracing: Rename trace_buffer to array_buffer 2020-01-13 13:19:38 -05:00
trace_seq.c tracing: Remove unused TRACE_SEQ_BUF_USED 2020-01-21 18:39:54 -05:00
trace_stack.c tracing: Have stack tracer compile when MCOUNT_INSN_SIZE is not defined 2020-01-02 22:04:07 -05:00
trace_stat.c tracing: Fix tracing_stat return values in error handling paths 2020-01-24 18:06:48 -05:00
trace_stat.h tracing: Use generic type for comparator function 2019-11-14 13:15:11 -05:00
trace_syscalls.c tracing: Make struct ring_buffer less ambiguous 2020-01-13 13:19:38 -05:00
trace_uprobe.c tracing: Make struct ring_buffer less ambiguous 2020-01-13 13:19:38 -05:00
trace.c tracing: Use pr_err() instead of WARN() for memory failures 2020-01-25 10:52:30 -05:00
trace.h tracing/boot: Move external function declarations to kernel/trace/trace.h 2020-01-29 08:49:04 -05:00
tracing_map.c tracing: Have the histogram compare functions convert to u64 first 2019-12-19 18:26:00 -05:00
tracing_map.h tracing: Fix SPDX format headers to use C++ style comments 2018-08-16 19:08:06 -04:00