powerpc/ptrace: replace ptrace_report_syscall() with a tracehook call
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. The patch does not look very nice, but at least it is correct and opens the way for PTRACE_GET_SYSCALL_INFO API. Co-authored-by: Dmitry V. Levin <ldv@altlinux.org> Fixes: 5521eb4bca2d ("powerpc/ptrace: Add support for PTRACE_SYSEMU") Signed-off-by: Elvira Khabirova <lineprinter@altlinux.org> Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> [mpe: Take this as a minimal fix for 4.20, we'll rework it later] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
9ef34630a4
commit
a225f15674
@ -3266,12 +3266,17 @@ long do_syscall_trace_enter(struct pt_regs *regs)
|
||||
user_exit();
|
||||
|
||||
if (test_thread_flag(TIF_SYSCALL_EMU)) {
|
||||
ptrace_report_syscall(regs);
|
||||
/*
|
||||
* A nonzero return code from tracehook_report_syscall_entry()
|
||||
* tells us to prevent the syscall execution, but we are not
|
||||
* going to execute it anyway.
|
||||
*
|
||||
* Returning -1 will skip the syscall execution. We want to
|
||||
* avoid clobbering any register also, thus, not 'gotoing'
|
||||
* skip label.
|
||||
*/
|
||||
if (tracehook_report_syscall_entry(regs))
|
||||
;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user