Messages in this thread Patch in this message | | | Subject | Re: [PATCH 2/6] trace syscalls: Remove redundant syscall_nr checks | From | Steven Rostedt <> | Date | Tue, 07 Dec 2010 09:54:42 -0500 |
| |
On Tue, 2010-12-07 at 15:29 +1100, Ian Munsie wrote: > From: Ian Munsie <imunsie@au1.ibm.com> > > With the ftrace events now checking if the syscall_nr is valid upon > initialisation, there is no need to verify it when registering and > unregistering the events, so remove the check.
I still like to keep these checks. I don't mind redundant checks that are in slow paths, as they may catch a bug on a change in the future.
What you could do is change these to:
if (WARN_ON_ONCE(num < 0 || num >= NR_syscalls))
-- Steve
> > Signed-off-by: Ian Munsie <imunsie@au1.ibm.com> > --- > kernel/trace/trace_syscalls.c | 9 +-------- > 1 files changed, 1 insertions(+), 8 deletions(-) > > diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c > index 14f4c02..5e34b49 100644 > --- a/kernel/trace/trace_syscalls.c > +++ b/kernel/trace/trace_syscalls.c > @@ -367,8 +367,6 @@ 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) > - return -ENOSYS; > mutex_lock(&syscall_trace_lock); > if (!sys_refcount_enter) > ret = register_trace_sys_enter(ftrace_syscall_enter, NULL); > @@ -385,8 +383,6 @@ 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) > - return; > mutex_lock(&syscall_trace_lock); > sys_refcount_enter--; > clear_bit(num, enabled_enter_syscalls); > @@ -401,8 +397,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) > - return -ENOSYS; > + > mutex_lock(&syscall_trace_lock); > if (!sys_refcount_exit) > ret = register_trace_sys_exit(ftrace_syscall_exit, NULL); > @@ -419,8 +414,6 @@ 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) > - return; > mutex_lock(&syscall_trace_lock); > sys_refcount_exit--; > clear_bit(num, enabled_exit_syscalls);
| |