summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle McMartin <kyle@parisc-linux.org>2007-06-03 21:47:00 (GMT)
committerKyle McMartin <kyle@minerva.i.cabal.ca>2007-06-03 21:53:45 (GMT)
commit3bb457af4fa86dceef57d7c3e959aff162457fdc (patch)
tree4b2278b2da6a4518a7db8d277dcd04bdc54b7b9a
parentcc650a7a9f5ebc3f9290a8e20e3f55b4f52f849e (diff)
downloadlinux-fsl-qoriq-3bb457af4fa86dceef57d7c3e959aff162457fdc.tar.xz
[PARISC] Fix bug when syscall nr is __NR_Linux_syscalls
The bug was that we were comparing __NR_syscalls to be greater or equal to the syscall number stored in %r20. __NR_syscalls is one greater than the last syscall though, so we're loading one entry beyond the end of the syscall table, and trying to jump to it. Fix this by only checking that we're greater, alternatively, we could have compared to (__NR_Linux_syscalls - 1) Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
-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 91b2a48..56f6231 100644
--- a/arch/parisc/kernel/syscall.S
+++ b/arch/parisc/kernel/syscall.S
@@ -198,7 +198,7 @@ linux_gateway_entry:
ldil L%sys_call_table, %r1
ldo R%sys_call_table(%r1), %r19
#endif
- comiclr,>>= __NR_Linux_syscalls, %r20, %r0
+ comiclr,>> __NR_Linux_syscalls, %r20, %r0
b,n .Lsyscall_nosys
LDREGX %r20(%r19), %r19