summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2013-05-09 17:35:12 +0200
committerSteven Rostedt <rostedt@goodmis.org>2013-05-09 17:35:12 +0200
commit7c088b5120ffef017e2ddc38f992277e96436ef6 (patch)
tree9cfeea9e1adc62a0e0ee452bdcbb6fc748358b6d
parenttracing: Return error if register_ftrace_function_probe() fails for event_ena... (diff)
downloadlinux-7c088b5120ffef017e2ddc38f992277e96436ef6.tar.xz
linux-7c088b5120ffef017e2ddc38f992277e96436ef6.zip
ftrace: Have ftrace_regex_write() return either read or error
As ftrace_regex_write() reads the result of ftrace_process_regex() which can sometimes return a positive number, only consider a failure if the return is negative. Otherwise, it will skip possible other registered probes and by returning a positive number that wasn't read, it will confuse the user processes doing the writing. Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--kernel/trace/ftrace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 8a5c017bb50c..d85a0ad81a67 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -3276,7 +3276,7 @@ ftrace_regex_write(struct file *file, const char __user *ubuf,
ret = ftrace_process_regex(iter->hash, parser->buffer,
parser->idx, enable);
trace_parser_clear(parser);
- if (ret)
+ if (ret < 0)
goto out_unlock;
}