[RFC PATCH for 4.18 09/16] powerpc: Add syscall detection for restartable sequences

Michael Ellerman mpe at ellerman.id.au
Tue Jun 5 15:21:28 AEST 2018


Mathieu Desnoyers <mathieu.desnoyers at efficios.com> writes:
> From: Boqun Feng <boqun.feng at gmail.com>
>
> Syscalls are not allowed inside restartable sequences, so add a call to
> rseq_syscall() at the very beginning of system call exiting path for
> CONFIG_DEBUG_RSEQ=y kernel. This could help us to detect whether there
> is a syscall issued inside restartable sequences.
>
> [ Tested on 64-bit powerpc kernel by Mathieu Desnoyers. Still needs to
>   be tested on 32-bit powerpc kernel. ]
>
> Signed-off-by: Boqun Feng <boqun.feng at gmail.com>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> CC: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> CC: Paul Mackerras <paulus at samba.org>
> CC: Michael Ellerman <mpe at ellerman.id.au>
> CC: Peter Zijlstra <peterz at infradead.org>
> CC: "Paul E. McKenney" <paulmck at linux.vnet.ibm.com>
> CC: linuxppc-dev at lists.ozlabs.org
> ---
>  arch/powerpc/kernel/entry_32.S | 7 +++++++
>  arch/powerpc/kernel/entry_64.S | 8 ++++++++
>  2 files changed, 15 insertions(+)

I don't _love_ the #ifdefs in here, but they look correct and there's
not really a better option until we rewrite the syscall handler in C.

The rseq selftests passed for me with this applied and enabled. So if
you like here's some tags:

Tested-by: Michael Ellerman <mpe at ellerman.id.au>
Acked-by: Michael Ellerman <mpe at ellerman.id.au>

cheers


More information about the Linuxppc-dev mailing list