trace_syscalls: Add syscall nr field
authorLai Jiangshan <laijs@cn.fujitsu.com>
Thu, 26 Nov 2009 07:49:33 +0000 (15:49 +0800)
committerIngo Molnar <mingo@elte.hu>
Fri, 27 Nov 2009 05:24:19 +0000 (06:24 +0100)
Field syscall number is missed in syscall_enter_define_fields()/
syscall_exit_define_fields().

Syscall number is also needed for event filter or other users.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jason Baron <jbaron@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <4B0E330D.1070206@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace_syscalls.c

index 9189cbe86079d8bff3bc9f48025bc3789ee6ed21..63aa8070365d882b9b9bc546d266755d35b330a0 100644 (file)
@@ -261,6 +261,10 @@ int syscall_enter_define_fields(struct ftrace_event_call *call)
        if (ret)
                return ret;
 
+       ret = trace_define_field(call, SYSCALL_FIELD(int, nr), FILTER_OTHER);
+       if (ret)
+               return ret;
+
        for (i = 0; i < meta->nb_args; i++) {
                ret = trace_define_field(call, meta->types[i],
                                         meta->args[i], offset,
@@ -281,6 +285,10 @@ int syscall_exit_define_fields(struct ftrace_event_call *call)
        if (ret)
                return ret;
 
+       ret = trace_define_field(call, SYSCALL_FIELD(int, nr), FILTER_OTHER);
+       if (ret)
+               return ret;
+
        ret = trace_define_field(call, SYSCALL_FIELD(long, ret),
                                 FILTER_OTHER);