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

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Tue Jun 5 22:50:10 AEST 2018


----- On Jun 5, 2018, at 1:21 AM, Michael Ellerman mpe at ellerman.id.au wrote:

> 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>
> 

Adding you ack to the series.

Thanks!

Mathieu

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


More information about the Linuxppc-dev mailing list