|
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);
|