summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2016-04-27 04:56:11 +0300
committerBen Hutchings <ben@decadent.org.uk>2016-06-15 21:28:14 +0100
commit2a1b4220685a9d4afa788f3d468d1cffe0e4c6dd (patch)
tree2ba291cd4b99a69bdea07bc64aa0df7f1b1cf7a5
parent99cfe931aa948c3af2f288f9d603bddbbc456a90 (diff)
downloadlinux-stable-2a1b4220685a9d4afa788f3d468d1cffe0e4c6dd.tar.gz
linux-stable-2a1b4220685a9d4afa788f3d468d1cffe0e4c6dd.tar.bz2
linux-stable-2a1b4220685a9d4afa788f3d468d1cffe0e4c6dd.zip
parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls
commit f0b22d1bb2a37a665a969e95785c75a4f49d1499 upstream. 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. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Acked-by: Helge Deller <deller@gmx.de> Signed-off-by: Helge Deller <deller@gmx.de> [bwh: Backported to 3.2: adjust context] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--arch/parisc/kernel/syscall.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
index 82a52b2fb13f..ed3df443e02d 100644
--- a/arch/parisc/kernel/syscall.S
+++ b/arch/parisc/kernel/syscall.S
@@ -314,7 +314,7 @@ tracesys_next:
ldo -16(%r30),%r29 /* Reference param save area */
#endif
- comiclr,>>= __NR_Linux_syscalls, %r20, %r0
+ comiclr,>> __NR_Linux_syscalls, %r20, %r0
b,n .Lsyscall_nosys
LDREGX %r20(%r19), %r19