uprobes: Fix return value in error handling path
authorzhangwei(Jovi) <jovi.zhangwei@huawei.com>
Thu, 13 Jun 2013 06:21:51 +0000 (14:21 +0800)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 3 Jul 2013 00:42:29 +0000 (20:42 -0400)
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
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: <srikar@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org # 3.5+
Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_uprobe.c

index 32494fb0ee640eef4548ac380cd158eab7415083..d5d0cd368a5635737f749324b61d1037c361c968 100644 (file)
@@ -283,8 +283,10 @@ static int create_trace_uprobe(int argc, char **argv)
                return -EINVAL;
        }
        arg = strchr(argv[1], ':');
-       if (!arg)
+       if (!arg) {
+               ret = -EINVAL;
                goto fail_address_parse;
+       }
 
        *arg++ = '\0';
        filename = argv[1];