From: Steven Rostedt Date: Tue, 24 Mar 2009 04:18:31 +0000 (-0400) Subject: function-graph: prevent more than one tracer registering X-Git-Tag: v2.6.31-rc1~401^2~205 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=05ce5818adee8f8efd0a5ca0d900a6789012516b;p=profile%2Fivi%2Fkernel-x86-ivi.git function-graph: prevent more than one tracer registering Impact: prevent crash due to multiple function graph tracers The function graph tracer can currently only handle a single tracer being registered. If another tracer registers with the function graph tracer it can crash the system. Signed-off-by: Steven Rostedt --- diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 7847806..c81a759 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -2643,6 +2643,12 @@ int register_ftrace_graph(trace_func_graph_ret_t retfunc, mutex_lock(&ftrace_lock); + /* we currently allow only one tracer registered at a time */ + if (atomic_read(&ftrace_graph_active)) { + ret = -EBUSY; + goto out; + } + ftrace_suspend_notifier.notifier_call = ftrace_suspend_notifier_call; register_pm_notifier(&ftrace_suspend_notifier);