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

From: Mathieu Desnoyers
Date: Tue Jun 05 2018 - 08:50:19 EST


----- On Jun 5, 2018, at 1:21 AM, Michael Ellerman mpe@xxxxxxxxxxxxxx wrote:

> Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> writes:
>> From: Boqun Feng <boqun.feng@xxxxxxxxx>
>>
>> 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@xxxxxxxxx>
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
>> CC: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
>> CC: Paul Mackerras <paulus@xxxxxxxxx>
>> CC: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
>> CC: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>> CC: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
>> CC: linuxppc-dev@xxxxxxxxxxxxxxxx
>> ---
>> 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@xxxxxxxxxxxxxx>
> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
>

Adding you ack to the series.

Thanks!

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com