Messages in this thread Patch in this message | | | Date | Fri, 18 May 2018 14:17:17 -0400 (EDT) | From | Mathieu Desnoyers <> | Subject | Re: [PATCH 07/14] powerpc: Add support for restartable sequences |
| |
----- On May 17, 2018, at 7:50 PM, Boqun Feng boqun.feng@gmail.com wrote: [...] >> > I think you're right. So we have to introduce callsite to rseq_syscall() >> > in syscall path, something like: >> > >> > diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S >> > index 51695608c68b..a25734a96640 100644 >> > --- a/arch/powerpc/kernel/entry_64.S >> > +++ b/arch/powerpc/kernel/entry_64.S >> > @@ -222,6 +222,9 @@ system_call_exit: >> > mtmsrd r11,1 >> > #endif /* CONFIG_PPC_BOOK3E */ >> > >> > + addi r3,r1,STACK_FRAME_OVERHEAD >> > + bl rseq_syscall >> > + >> > ld r9,TI_FLAGS(r12) >> > li r11,-MAX_ERRNO >> > andi. >> > r0,r9,(_TIF_SYSCALL_DOTRACE|_TIF_SINGLESTEP|_TIF_USER_WORK_MASK|_TIF_PERSYSCALL_MASK) >> >
By the way, I think this is not the right spot to call rseq_syscall, because interrupts are disabled. I think we should move this hunk right after system_call_exit.
Would you like to implement and test an updated patch adding those calls for ppc 32 and 64 ?
Thanks,
Mathieu
-- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com
| |