diff options
author | H. Peter Anvin <hpa@zytor.com> | 2021-05-10 20:53:15 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2021-05-12 10:49:15 +0200 |
commit | 9ddcb87b9218dec760e8d8a780bc8ad514c3d36a (patch) | |
tree | ae07eba26f7bdc1a6cf308b192200cae77b57bae /arch/x86/kernel/ptrace.c | |
parent | x86/entry: Split PUSH_AND_CLEAR_REGS into two submacros (diff) | |
download | linux-9ddcb87b9218dec760e8d8a780bc8ad514c3d36a.tar.xz linux-9ddcb87b9218dec760e8d8a780bc8ad514c3d36a.zip |
x86/regs: Syscall_get_nr() returns -1 for a non-system call
syscall_get_nr() is defined to return -1 for a non-system call or a
ptrace/seccomp restart; not just any arbitrary number. See comment in
<asm-generic/syscall.h> for the official definition of this function.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20210510185316.3307264-7-hpa@zytor.com
Diffstat (limited to 'arch/x86/kernel/ptrace.c')
-rw-r--r-- | arch/x86/kernel/ptrace.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c index 87a4143aa7d7..4c208ea3bd9f 100644 --- a/arch/x86/kernel/ptrace.c +++ b/arch/x86/kernel/ptrace.c @@ -911,7 +911,7 @@ static int putreg32(struct task_struct *child, unsigned regno, u32 value) * syscall with TS_COMPAT still set. */ regs->orig_ax = value; - if (syscall_get_nr(child, regs) >= 0) + if (syscall_get_nr(child, regs) != -1) child->thread_info.status |= TS_I386_REGS_POKED; break; |