linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc/syscalls: Fix syscall tracing
@ 2019-01-15  6:37 Michael Ellerman
  2019-01-17  0:27 ` Michael Ellerman
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Ellerman @ 2019-01-15  6:37 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: firoz.khan, arnd

Recently in commit fbf508da7440 ("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: fbf508da7440 ("powerpc: split compat syscall table out from native table")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/kernel/trace/ftrace.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/arch/powerpc/kernel/trace/ftrace.c b/arch/powerpc/kernel/trace/ftrace.c
index 29746dc28df5..517662a56bdc 100644
--- a/arch/powerpc/kernel/trace/ftrace.c
+++ b/arch/powerpc/kernel/trace/ftrace.c
@@ -967,13 +967,6 @@ unsigned long prepare_ftrace_return(unsigned long parent, unsigned long ip)
 }
 #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
 char *arch_ftrace_match_adjust(char *str, const char *search)
 {
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: powerpc/syscalls: Fix syscall tracing
  2019-01-15  6:37 [PATCH] powerpc/syscalls: Fix syscall tracing Michael Ellerman
@ 2019-01-17  0:27 ` Michael Ellerman
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Ellerman @ 2019-01-17  0:27 UTC (permalink / raw)
  To: Michael Ellerman, linuxppc-dev; +Cc: firoz.khan, arnd

On Tue, 2019-01-15 at 06:37:28 UTC, Michael Ellerman wrote:
> Recently in commit fbf508da7440 ("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: fbf508da7440 ("powerpc: split compat syscall table out from native table")
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>

Applied to powerpc fixes.

https://git.kernel.org/powerpc/c/7bea7ac0ca0121798f3618d16201ca4d

cheers

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-01-17  0:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-15  6:37 [PATCH] powerpc/syscalls: Fix syscall tracing Michael Ellerman
2019-01-17  0:27 ` Michael Ellerman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).