Re: [PATCH 9/9] tracing: Remove locking trace_types_lock fromtracing_reset_all_online_cpus()

From: Arend van Spriel
Date: Fri Jul 26 2013 - 12:28:23 EST


On 07/26/2013 03:03 PM, Steven Rostedt wrote:
From: "Steven Rostedt (Red Hat)"<rostedt@xxxxxxxxxxx>

Commit a82274151af "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.

Commit a82274151af was marked for stable, which means this must be
sent to stable too.

Link:http://lkml.kernel.org/r/51EEC646.7070306@xxxxxxxxxxxx

Reported-by: Arend van *Spril*<arend@xxxxxxxxxxxx>

Nasty dutch names, huh. If we ever meet on a summit you may try to pronounce it :-) Way easier than Finnish.

Regards,
Arend

Tested-by: Arend van *Spriel*<arend@xxxxxxxxxxxx>
Cc: Alexander Z Lam<azl@xxxxxxxxxx>
Cc: Vaibhav Nagarnaik<vnagarnaik@xxxxxxxxxx>
Cc: David Sharp<dhsharp@xxxxxxxxxx>
Cc:stable@xxxxxxxxxxxxxxx # 3.10
Signed-off-by: Steven Rostedt<rostedt@xxxxxxxxxxx>
---
kernel/trace/trace.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/