[ARM] 3335/1: Old-abi Thumb sys_syscall broken
authorPaul Brook <paul@codesourcery.com>
Tue, 16 May 2006 13:25:55 +0000 (14:25 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 18 Jun 2006 15:16:57 +0000 (16:16 +0100)
commit5247593c9634309d1b9f7b549495b8e5ad521688
treeb9744271e43b76b22a43fd70d09c4b2aa81aa95f
parent254a1564fb6f9242782f9a8e5d59a212424686e8
[ARM] 3335/1: Old-abi Thumb sys_syscall broken

Patch from Paul Brook

The old-abi sys_syscall syscall is broken when called from Thumb mode. It
assumes the syscall number is an Arm syscall number (ie. starts from
__NR_OABI_SYSCALL_BASE).  In thumb mode syscall numbers start from zero.

The patch below fixes this by clearing the nigh bits of the syscall number
instead of inverting them. Technically this means we accept some invalid
syscall numbers, but I can't see how that could be a problem. The two sets of
numbers far apart that unimplemented syscalls should still be rejected.

Signed-off-by: Paul Brook <paul@codesourcery.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/entry-common.S