mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 21:54:11 +08:00
[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>
This commit is contained in:
parent
cc650a7a9f
commit
3bb457af4f
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user