diff options
author | Tony Lindgren <tony@atomide.com> | 2011-02-25 21:27:14 +0100 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-02-25 21:27:14 +0100 |
commit | 02fa9f0451ac639a687bfc145eefe58703ff220e (patch) | |
tree | fe984acc78f22f6eb8fb98efaba8b1ac2f3ad8d9 /kernel/trace/trace_syscalls.c | |
parent | OMAP2+: clocksource: fix crash on boot when !CONFIG_OMAP_32K_TIMER (diff) | |
parent | omap4: prcm: Fix the CPUx clockdomain offsets (diff) | |
download | linux-02fa9f0451ac639a687bfc145eefe58703ff220e.tar.xz linux-02fa9f0451ac639a687bfc145eefe58703ff220e.zip |
Merge branch 'patches_for_2.6.38rc' of git://git.pwsan.com/linux-2.6 into devel-fixes
Diffstat (limited to 'kernel/trace/trace_syscalls.c')
-rw-r--r-- | kernel/trace/trace_syscalls.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index b706529b4fc7..5c9fe08d2093 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c @@ -55,20 +55,21 @@ struct ftrace_event_class event_class_syscall_exit = { .raw_init = init_syscall_trace, }; -extern unsigned long __start_syscalls_metadata[]; -extern unsigned long __stop_syscalls_metadata[]; +extern struct syscall_metadata *__start_syscalls_metadata[]; +extern struct syscall_metadata *__stop_syscalls_metadata[]; static struct syscall_metadata **syscalls_metadata; -static struct syscall_metadata *find_syscall_meta(unsigned long syscall) +static __init struct syscall_metadata * +find_syscall_meta(unsigned long syscall) { - struct syscall_metadata *start; - struct syscall_metadata *stop; + struct syscall_metadata **start; + struct syscall_metadata **stop; char str[KSYM_SYMBOL_LEN]; - start = (struct syscall_metadata *)__start_syscalls_metadata; - stop = (struct syscall_metadata *)__stop_syscalls_metadata; + start = __start_syscalls_metadata; + stop = __stop_syscalls_metadata; kallsyms_lookup(syscall, NULL, NULL, NULL, str); for ( ; start < stop; start++) { @@ -78,8 +79,8 @@ static struct syscall_metadata *find_syscall_meta(unsigned long syscall) * with "SyS" instead of "sys", leading to an unwanted * mismatch. */ - if (start->name && !strcmp(start->name + 3, str + 3)) - return start; + if ((*start)->name && !strcmp((*start)->name + 3, str + 3)) + return *start; } return NULL; } |