Messages in this thread Patch in this message | | | Date | Wed, 06 Jan 2010 20:39:53 +0800 | From | Lai Jiangshan <> | Subject | [PATCH] trace_syscalls: cleanup for syscalls_metadata |
| |
NR_syscalls is compile-time constant. so we allocates memory for syscalls_metadata at compile-time.
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> --- diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index f694f66..c7db995 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c @@ -17,7 +17,7 @@ static DECLARE_BITMAP(enabled_exit_syscalls, NR_syscalls); extern unsigned long __start_syscalls_metadata[]; extern unsigned long __stop_syscalls_metadata[]; -static struct syscall_metadata **syscalls_metadata; +static struct syscall_metadata *syscalls_metadata[NR_syscalls]; static struct syscall_metadata *find_syscall_meta(unsigned long syscall) { @@ -45,7 +45,7 @@ static struct syscall_metadata *find_syscall_meta(unsigned long syscall) static struct syscall_metadata *syscall_nr_to_meta(int nr) { - if (!syscalls_metadata || nr >= NR_syscalls || nr < 0) + if (nr >= NR_syscalls || nr < 0) return NULL; return syscalls_metadata[nr]; @@ -400,13 +400,6 @@ int __init init_ftrace_syscalls(void) unsigned long addr; int i; - syscalls_metadata = kzalloc(sizeof(*syscalls_metadata) * - NR_syscalls, GFP_KERNEL); - if (!syscalls_metadata) { - WARN_ON(1); - return -ENOMEM; - } - for (i = 0; i < NR_syscalls; i++) { addr = arch_syscall_addr(i); meta = find_syscall_meta(addr);
| |