Mathieu Desnoyers <mathieu.desnoy...@efficios.com> writes: > From: Boqun Feng <boqun.f...@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.f...@gmail.com> > Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> > CC: Benjamin Herrenschmidt <b...@kernel.crashing.org> > CC: Paul Mackerras <pau...@samba.org> > CC: Michael Ellerman <m...@ellerman.id.au> > CC: Peter Zijlstra <pet...@infradead.org> > CC: "Paul E. McKenney" <paul...@linux.vnet.ibm.com> > CC: linuxppc-dev@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 <m...@ellerman.id.au> Acked-by: Michael Ellerman <m...@ellerman.id.au> cheers