Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a225f156 authored by Elvira Khabirova's avatar Elvira Khabirova Committed by Michael Ellerman
Browse files

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: default avatarDmitry V. Levin <ldv@altlinux.org>
Fixes: 5521eb4b ("powerpc/ptrace: Add support for PTRACE_SYSEMU")
Signed-off-by: default avatarElvira Khabirova <lineprinter@altlinux.org>
Signed-off-by: default avatarDmitry V. Levin <ldv@altlinux.org>
[mpe: Take this as a minimal fix for 4.20, we'll rework it later]
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 9ef34630
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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;
	}