]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
arm64: ptrace: Use NO_SYSCALL instead of -1 in syscall_trace_enter()
authorWill Deacon <will@kernel.org>
Fri, 10 Jul 2020 12:20:57 +0000 (13:20 +0100)
committerWill Deacon <will@kernel.org>
Thu, 16 Jul 2020 10:42:08 +0000 (11:42 +0100)
Setting a system call number of -1 is special, as it indicates that the
current system call should be skipped.

Use NO_SYSCALL instead of -1 when checking for this scenario, which is
different from the -1 returned due to a seccomp failure.

Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Keno Fischer <keno@juliacomputing.com>
Cc: Luis Machado <luis.machado@linaro.org>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/ptrace.c

index 89fbee3991a20123a4879bc53b51b2da36cc6b56..1e02e98e68dd375e35fb372d40ad9e3d2f196bc3 100644 (file)
@@ -1856,12 +1856,12 @@ int syscall_trace_enter(struct pt_regs *regs)
        if (flags & (_TIF_SYSCALL_EMU | _TIF_SYSCALL_TRACE)) {
                tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER);
                if (!in_syscall(regs) || (flags & _TIF_SYSCALL_EMU))
-                       return -1;
+                       return NO_SYSCALL;
        }
 
        /* Do the secure computing after ptrace; failures should be fast. */
        if (secure_computing() == -1)
-               return -1;
+               return NO_SYSCALL;
 
        if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
                trace_sys_enter(regs, regs->syscallno);