Mian Yousaf Kaukab b775b5
From: Will Deacon <will@kernel.org>
Mian Yousaf Kaukab b775b5
Date: Fri, 10 Jul 2020 13:20:57 +0100
Mian Yousaf Kaukab b775b5
Subject: arm64: ptrace: Use NO_SYSCALL instead of -1 in syscall_trace_enter()
Mian Yousaf Kaukab b775b5
Mian Yousaf Kaukab b775b5
Git-commit: d83ee6e3e75db6f518ef2b0858f163849f2ddeb7
Mian Yousaf Kaukab b775b5
Patch-mainline: v5.8-rc6
Mian Yousaf Kaukab b775b5
References: git-fixes
Mian Yousaf Kaukab b775b5
Mian Yousaf Kaukab b775b5
Setting a system call number of -1 is special, as it indicates that the
Mian Yousaf Kaukab b775b5
current system call should be skipped.
Mian Yousaf Kaukab b775b5
Mian Yousaf Kaukab b775b5
Use NO_SYSCALL instead of -1 when checking for this scenario, which is
Mian Yousaf Kaukab b775b5
different from the -1 returned due to a seccomp failure.
Mian Yousaf Kaukab b775b5
Mian Yousaf Kaukab b775b5
Cc: Mark Rutland <mark.rutland@arm.com>
Mian Yousaf Kaukab b775b5
Cc: Keno Fischer <keno@juliacomputing.com>
Mian Yousaf Kaukab b775b5
Cc: Luis Machado <luis.machado@linaro.org>
Mian Yousaf Kaukab b775b5
Signed-off-by: Will Deacon <will@kernel.org>
Mian Yousaf Kaukab b775b5
Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de>
Mian Yousaf Kaukab b775b5
---
Mian Yousaf Kaukab b775b5
 arch/arm64/kernel/ptrace.c |    4 ++--
Mian Yousaf Kaukab b775b5
 1 file changed, 2 insertions(+), 2 deletions(-)
Mian Yousaf Kaukab b775b5
Mian Yousaf Kaukab b775b5
--- a/arch/arm64/kernel/ptrace.c
Mian Yousaf Kaukab b775b5
+++ b/arch/arm64/kernel/ptrace.c
Mian Yousaf Kaukab b775b5
@@ -1834,12 +1834,12 @@ int syscall_trace_enter(struct pt_regs *
Mian Yousaf Kaukab b775b5
 	if (flags & (_TIF_SYSCALL_EMU | _TIF_SYSCALL_TRACE)) {
Mian Yousaf Kaukab b775b5
 		tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER);
Mian Yousaf Kaukab b775b5
 		if (!in_syscall(regs) || (flags & _TIF_SYSCALL_EMU))
Mian Yousaf Kaukab b775b5
-			return -1;
Mian Yousaf Kaukab b775b5
+			return NO_SYSCALL;
Mian Yousaf Kaukab b775b5
 	}
Mian Yousaf Kaukab b775b5
 
Mian Yousaf Kaukab b775b5
 	/* Do the secure computing after ptrace; failures should be fast. */
Mian Yousaf Kaukab b775b5
 	if (secure_computing(NULL) == -1)
Mian Yousaf Kaukab b775b5
-		return -1;
Mian Yousaf Kaukab b775b5
+		return NO_SYSCALL;
Mian Yousaf Kaukab b775b5
 
Mian Yousaf Kaukab b775b5
 	if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
Mian Yousaf Kaukab b775b5
 		trace_sys_enter(regs, regs->syscallno);