tracing: Initialize ret in syscall_enter_define_fields()
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Wed, 8 Jan 2020 13:57:55 +0000 (08:57 -0500)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 17 Jan 2020 09:19:18 +0000 (10:19 +0100)
If syscall_enter_define_fields() is called on a system call with no
arguments, the return code variable "ret" will never get initialized.
Initialize it to zero.

Fixes: 04ae87a52074e ("ftrace: Rework event_create_dir()")
Reported-by: Qian Cai <cai@lca.pw>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/0FA8C6E3-D9F5-416D-A1B0-5E4CD583A101@lca.pw
kernel/trace/trace_syscalls.c

index 73140d8..2978c29 100644 (file)
@@ -274,7 +274,8 @@ static int __init syscall_enter_define_fields(struct trace_event_call *call)
        struct syscall_trace_enter trace;
        struct syscall_metadata *meta = call->data;
        int offset = offsetof(typeof(trace), args);
-       int ret, i;
+       int ret = 0;
+       int i;
 
        for (i = 0; i < meta->nb_args; i++) {
                ret = trace_define_field(call, meta->types[i],