]> git.baikalelectronics.ru Git - kernel.git/commit
tracing: Fix synchronizing to event changes with tracepoint_synchronize_unregister()
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 9 Aug 2018 19:31:48 +0000 (15:31 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 10 Aug 2018 19:12:01 +0000 (15:12 -0400)
commitd4cfba231a4fc7259edaab6620da7ad70d85840c
tree98962d8b1862aa1422e2e79021a6019a5a232a10
parent4a23be97354ded754cccec3734c518ef9cb1d77b
tracing: Fix synchronizing to event changes with tracepoint_synchronize_unregister()

Now that some trace events can be protected by srcu_read_lock(tracepoint_srcu),
we need to make sure all locations that depend on this are also protected.
There were many places that did a synchronize_sched() thinking that it was
enough to protect againts access to trace events. This use to be the case,
but now that we use SRCU for _rcuidle() trace events, they may not be
protected by synchronize_sched(), as they may be called in paths that RCU is
not watching for preempt disable.

Fixes: 0d8d748d710bc ("tracepoint: Make rcuidle tracepoint callers use SRCU")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_events.c
kernel/trace/trace_events_filter.c
kernel/trace/trace_events_hist.c
kernel/trace/trace_events_trigger.c