tracing/syscalls: Convert redundant syscall_nr checks into WARN_ON
authorIan Munsie <imunsie@au1.ibm.com>
Thu, 3 Feb 2011 03:27:21 +0000 (14:27 +1100)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 8 Feb 2011 02:25:52 +0000 (21:25 -0500)
With the ftrace events now checking if the syscall_nr is valid upon
initialisation it should no longer be possible to register or unregister
a syscall event without a valid syscall_nr since they should not be
created. This adds a WARN_ON_ONCE in the register and unregister
functions to locate potential regressions in the future.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
LKML-Reference: <1296703645-18718-3-git-send-email-imunsie@au1.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_syscalls.c

index a9ceabd52247b2b0b39df6f8d98a3c05c82d6e8c..423094288fb58ca1ca637a58a4c7a5412c883de2 100644 (file)
@@ -359,7 +359,7 @@ int reg_event_syscall_enter(struct ftrace_event_call *call)
        int num;
 
        num = ((struct syscall_metadata *)call->data)->syscall_nr;
-       if (num < 0 || num >= NR_syscalls)
+       if (WARN_ON_ONCE(num < 0 || num >= NR_syscalls))
                return -ENOSYS;
        mutex_lock(&syscall_trace_lock);
        if (!sys_refcount_enter)
@@ -377,7 +377,7 @@ void unreg_event_syscall_enter(struct ftrace_event_call *call)
        int num;
 
        num = ((struct syscall_metadata *)call->data)->syscall_nr;
-       if (num < 0 || num >= NR_syscalls)
+       if (WARN_ON_ONCE(num < 0 || num >= NR_syscalls))
                return;
        mutex_lock(&syscall_trace_lock);
        sys_refcount_enter--;
@@ -393,7 +393,7 @@ int reg_event_syscall_exit(struct ftrace_event_call *call)
        int num;
 
        num = ((struct syscall_metadata *)call->data)->syscall_nr;
-       if (num < 0 || num >= NR_syscalls)
+       if (WARN_ON_ONCE(num < 0 || num >= NR_syscalls))
                return -ENOSYS;
        mutex_lock(&syscall_trace_lock);
        if (!sys_refcount_exit)
@@ -411,7 +411,7 @@ void unreg_event_syscall_exit(struct ftrace_event_call *call)
        int num;
 
        num = ((struct syscall_metadata *)call->data)->syscall_nr;
-       if (num < 0 || num >= NR_syscalls)
+       if (WARN_ON_ONCE(num < 0 || num >= NR_syscalls))
                return;
        mutex_lock(&syscall_trace_lock);
        sys_refcount_exit--;