aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2013-05-09 11:30:26 -0400
committerSteven Rostedt <rostedt@goodmis.org>2013-05-09 11:30:26 -0400
commitff305ded9ff83436039a16d31bc558dc6598d7ce (patch)
tree5430dd02b415b7b688a0579a5fff67c41dc4331b
parenta5b85bd1557209b4ef18a8cf07e60a1ca3132468 (diff)
tracing: Return error if register_ftrace_function_probe() fails for event_enable_func()
register_ftrace_function_probe() returns the number of functions it registered, which can be zero, it can also return a negative number if something went wrong. But event_enable_func() only checks for the case that it didn't register anything, it needs to also check for the case that something went wrong and return that error code as well. Added some comments about the code as well, to make it more understandable. Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--kernel/trace/trace_events.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 44ac83614c3d..87e826f1c237 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -2061,11 +2061,18 @@ event_enable_func(struct ftrace_hash *hash,
2061 if (ret < 0) 2061 if (ret < 0)
2062 goto out_put; 2062 goto out_put;
2063 ret = register_ftrace_function_probe(glob, ops, data); 2063 ret = register_ftrace_function_probe(glob, ops, data);
2064 /*
2065 * The above returns on success the # of functions enabled,
2066 * but if it didn't find any functions it returns zero.
2067 * Consider no functions a failure too.
2068 */
2064 if (!ret) { 2069 if (!ret) {
2065 ret = -ENOENT; 2070 ret = -ENOENT;
2066 goto out_disable; 2071 goto out_disable;
2067 } else 2072 } else if (ret < 0)
2068 ret = 0; 2073 goto out_disable;
2074 /* Just return zero, not the number of enabled functions */
2075 ret = 0;
2069 out: 2076 out:
2070 mutex_unlock(&event_mutex); 2077 mutex_unlock(&event_mutex);
2071 return ret; 2078 return ret;