mirror of https://gitee.com/openkylin/linux.git
powerpc/syscalls: Fix syscall tracing
Recently in commitfbf508da74
("powerpc: split compat syscall table out from native table") we changed the layout of the system call table. Instead of having two entries for each syscall number, one for the regular entry point and one for the compat entry point, we now have separate tables for regular and compat entry points. This inadvertently broke syscall tracing (CONFIG_FTRACE_SYSCALLS), because our implementation of arch_syscall_addr() knew about the layout of the table (it did nr * 2). We can fix it just by dropping our version of arch_syscall_addr() and using the generic version which does: return (unsigned long)sys_call_table[nr]; Fixes:fbf508da74
("powerpc: split compat syscall table out from native table") Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
da727097a4
commit
7bea7ac0ca
|
@ -967,13 +967,6 @@ unsigned long prepare_ftrace_return(unsigned long parent, unsigned long ip)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
|
#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
|
||||||
|
|
||||||
#if defined(CONFIG_FTRACE_SYSCALLS) && defined(CONFIG_PPC64)
|
|
||||||
unsigned long __init arch_syscall_addr(int nr)
|
|
||||||
{
|
|
||||||
return sys_call_table[nr*2];
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_FTRACE_SYSCALLS && CONFIG_PPC64 */
|
|
||||||
|
|
||||||
#ifdef PPC64_ELF_ABI_v1
|
#ifdef PPC64_ELF_ABI_v1
|
||||||
char *arch_ftrace_match_adjust(char *str, const char *search)
|
char *arch_ftrace_match_adjust(char *str, const char *search)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue