On Fri, Dec 07, 2018 at 10:12:49PM +1100, Michael Ellerman wrote: > "Dmitry V. Levin" writes: > > On Mon, Dec 03, 2018 at 06:18:23AM +0300, Dmitry V. Levin wrote: > >> From: Elvira Khabirova > >> > >> Arch code should use tracehook_*() helpers, as documented > >> in include/linux/tracehook.h, > >> ptrace_report_syscall() is not expected to be used outside that file. > >> > >> Co-authored-by: Dmitry V. Levin > >> Fixes: 5521eb4bca2d ("powerpc/ptrace: Add support for PTRACE_SYSEMU") > >> Signed-off-by: Elvira Khabirova > >> Signed-off-by: Dmitry V. Levin > >> --- > >> v4: rewritten to call tracehook_report_syscall_entry() once, compile-tested > >> v3: add a descriptive comment > >> v2: explicitly ignore tracehook_report_syscall_entry() return code > >> > >> arch/powerpc/kernel/ptrace.c | 54 +++++++++++++++++++++++------------- > >> 1 file changed, 35 insertions(+), 19 deletions(-) > > > > Sorry, this patch does not work, please ignore it. > > Hmm OK. Why exactly? Unfortunately, I have no idea why it doesn't work. All I can say is it breaks strace because the kernel no longer sends syscall entry stops. > I wrote more or less the same patch, although I used a temporary bool. > > > However, the bug blocks PTRACE_GET_SYSCALL_INFO, so please fix it. > > Sorry, didn't realise it was blocking you. We are changing ptrace_report_syscall signature to implement PTRACE_GET_SYSCALL_INFO, and this is the only place in the kernel besides tracehook_report_syscall_*() that invokes ptrace_report_syscall() directly. > > I'm going to use > > if (tracehook_report_syscall_entry(regs)) > > return -1; > > return -1; > > in the series until you have a better fix. > > Yeah that's fine by me. I could send that to Linus for 4.20 if you want > me to, otherwise I'm fine for you to carry it in your series. Yes, please. I'll send a v5 shortly. -- ldv