Commit d15f57f2 authored by Steven Rostedt's avatar Steven Rostedt Committed by Thomas Gleixner

ftrace: fix mutex unlock in trace output

If the trace output changes on reading the trace files, there is a chance
that the start function will return NULL. If the start function of a sequence
returns NULL the stop equivalent is not called. In this case, all locks
that are taken must be released even if they are released in the stop function.

This patch fixes a case that a mutex was not released on return of NULL
in the start sequence function.
Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 07a267cd
...@@ -964,8 +964,10 @@ static void *s_start(struct seq_file *m, loff_t *pos) ...@@ -964,8 +964,10 @@ static void *s_start(struct seq_file *m, loff_t *pos)
mutex_lock(&trace_types_lock); mutex_lock(&trace_types_lock);
if (!current_trace || current_trace != iter->trace) if (!current_trace || current_trace != iter->trace) {
mutex_unlock(&trace_types_lock);
return NULL; return NULL;
}
atomic_inc(&trace_record_cmdline_disabled); atomic_inc(&trace_record_cmdline_disabled);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment