Skip to content

Commit

Permalink
[PARISC] Fix bug when syscall nr is __NR_Linux_syscalls
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Kyle McMartin authored and Kyle McMartin committed Jun 3, 2007
1 parent cc650a7 commit 3bb457a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion arch/parisc/kernel/syscall.S
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 3bb457a

Please sign in to comment.