diff options
author | zhangwei(Jovi) <jovi.zhangwei@huawei.com> | 2013-06-13 02:21:51 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-07-25 17:07:31 -0400 |
commit | 3873153a61235a63517547e347db7ab90788486f (patch) | |
tree | ad0ff8279a104ca01c872edca81e29e7673e8250 /kernel | |
parent | 5df5df87f2b5f5d75825207d61a272b168d8cab6 (diff) |
uprobes: Fix return value in error handling path
commit fa44063f9ef163c3a4c8d8c0465bb8a056b42035 upstream.
When wrong argument is passed into uprobe_events it does not return
an error:
[root@jovi tracing]# echo 'p:myprobe /bin/bash' > uprobe_events
[root@jovi tracing]#
The proper response is:
[root@jovi tracing]# echo 'p:myprobe /bin/bash' > uprobe_events
-bash: echo: write error: Invalid argument
Link: http://lkml.kernel.org/r/51B964FF.5000106@huawei.com
Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: <srikar@linux.vnet.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/trace/trace_uprobe.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c index 32494fb0ee64..d5d0cd368a56 100644 --- a/kernel/trace/trace_uprobe.c +++ b/kernel/trace/trace_uprobe.c | |||
@@ -283,8 +283,10 @@ static int create_trace_uprobe(int argc, char **argv) | |||
283 | return -EINVAL; | 283 | return -EINVAL; |
284 | } | 284 | } |
285 | arg = strchr(argv[1], ':'); | 285 | arg = strchr(argv[1], ':'); |
286 | if (!arg) | 286 | if (!arg) { |
287 | ret = -EINVAL; | ||
287 | goto fail_address_parse; | 288 | goto fail_address_parse; |
289 | } | ||
288 | 290 | ||
289 | *arg++ = '\0'; | 291 | *arg++ = '\0'; |
290 | filename = argv[1]; | 292 | filename = argv[1]; |