diff options
| author | Nicolas Pitre <nico@cam.org> | 2005-10-28 11:35:46 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-10-28 11:35:46 -0400 |
| commit | a999cb04b4bfb4a2243383f00d5714b8d7163035 (patch) | |
| tree | 951b848e666ed00b90c2ac55bce1b2664dd51c27 | |
| parent | dd5b295ff880d5a0699a52f84106f16702c298f2 (diff) | |
[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.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index f6de76e0a45d..baa09601a64e 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) | |||
| 345 | struct thread_info *thread = current_thread_info(); | 345 | struct thread_info *thread = current_thread_info(); |
| 346 | siginfo_t info; | 346 | siginfo_t info; |
| 347 | 347 | ||
| 348 | if (current->personality != PER_LINUX && thread->exec_domain->handler) { | 348 | if (current->personality != PER_LINUX && |
| 349 | current->personality != PER_LINUX_32BIT && | ||
| 350 | thread->exec_domain->handler) { | ||
| 349 | thread->exec_domain->handler(n, regs); | 351 | thread->exec_domain->handler(n, regs); |
| 350 | return regs->ARM_r0; | 352 | return regs->ARM_r0; |
| 351 | } | 353 | } |
