瀏覽代碼

uprobes: Fix return value in error handling path

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>
zhangwei(Jovi) 12 年之前
父節點
當前提交
fa44063f9e
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      kernel/trace/trace_uprobe.c

+ 3 - 1
kernel/trace/trace_uprobe.c

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