summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2005-10-28 15:35:46 (GMT)
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-10-28 15:35:46 (GMT)
commita999cb04b4bfb4a2243383f00d5714b8d7163035 (patch)
tree951b848e666ed00b90c2ac55bce1b2664dd51c27
parentdd5b295ff880d5a0699a52f84106f16702c298f2 (diff)
downloadlinux-a999cb04b4bfb4a2243383f00d5714b8d7163035.tar.xz
[ARM] 3035/1: RISCOS compat code fix
Patch from Nicolas Pitre From: Daniel Jacobowitz <dan@debian.org> > I also fixed a bug that confused me greatly while trying to debug: one > SIGILL has long been a SIGSEGV because of some broken RISCOS > compatibility code. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/kernel/traps.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index f6de76e..baa0960 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -345,7 +345,9 @@ static int bad_syscall(int n, struct pt_regs *regs)
struct thread_info *thread = current_thread_info();
siginfo_t info;
- if (current->personality != PER_LINUX && thread->exec_domain->handler) {
+ if (current->personality != PER_LINUX &&
+ current->personality != PER_LINUX_32BIT &&
+ thread->exec_domain->handler) {
thread->exec_domain->handler(n, regs);
return regs->ARM_r0;
}