mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 22:37:45 -04:00
Commita82274151a"tracing: Protect ftrace_trace_arrays list in trace_events.c" added taking the trace_types_lock mutex in trace_events.c as there were several locations that needed it for protection. Unfortunately, it also encapsulated a call to tracing_reset_all_online_cpus() which also takes the trace_types_lock, causing a deadlock. This happens when a module has tracepoints and has been traced. When the module is removed, the trace events module notifier will grab the trace_types_lock, do a bunch of clean ups, and also clears the buffer by calling tracing_reset_all_online_cpus. This doesn't happen often which explains why it wasn't caught right away. Commita82274151awas marked for stable, which means this must be sent to stable too. Link: http://lkml.kernel.org/r/[email protected] Reported-by: Arend van Spril <[email protected]> Tested-by: Arend van Spriel <[email protected]> Cc: Alexander Z Lam <[email protected]> Cc: Vaibhav Nagarnaik <[email protected]> Cc: David Sharp <[email protected]> Cc: [email protected] # 3.10 Signed-off-by: Steven Rostedt <[email protected]>