diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2016-04-27 04:56:11 +0300 |
---|---|---|
committer | Sasha Levin <sasha.levin@oracle.com> | 2016-05-17 21:48:06 -0400 |
commit | aa7ebd32f9cbc09ccb469701fd58f877dac349ad (patch) | |
tree | 77d4a7af9bba3fa502db244ddd2eeb95197a46a0 | |
parent | 15e7e46e2f6dfdaaa9043b2ab643961ff71f0b24 (diff) | |
download | lwn-aa7ebd32f9cbc09ccb469701fd58f877dac349ad.tar.gz lwn-aa7ebd32f9cbc09ccb469701fd58f877dac349ad.zip |
parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls
[ Upstream commit f0b22d1bb2a37a665a969e95785c75a4f49d1499 ]
Do not load one entry beyond the end of the syscall table when the
syscall number of a traced process equals to __NR_Linux_syscalls.
Similar bug with regular processes was fixed by commit 3bb457af4fa8
("[PARISC] Fix bug when syscall nr is __NR_Linux_syscalls").
This bug was found by strace test suite.
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Acked-by: Helge Deller <deller@gmx.de>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
-rw-r--r-- | arch/parisc/kernel/syscall.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S index 02cf40c96fe3..099c23616901 100644 --- a/arch/parisc/kernel/syscall.S +++ b/arch/parisc/kernel/syscall.S @@ -342,7 +342,7 @@ tracesys_next: stw %r21, -56(%r30) /* 6th argument */ #endif - comiclr,>>= __NR_Linux_syscalls, %r20, %r0 + comiclr,>> __NR_Linux_syscalls, %r20, %r0 b,n .Ltracesys_nosys LDREGX %r20(%r19), %r19 |