aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2005-11-26 22:34:41 -0500
committerRalf Baechle <ralf@linux-mips.org>2005-12-01 06:05:14 -0500
commit56ebd51bae72c2e47c83f6eacf258479d5658ec8 (patch)
treeeb39e5ee383815c0185b910523d5470088f93494 /arch
parentb6c3539bdd6d766cffea76698c85ebb92bf3fb12 (diff)
[MIPS] Generate SIGILL again
The rdhwr emulation accidentally swallowed the SIGILL from most other illegal instructions. Make sure to return -EFAULT by default. Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/kernel/traps.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 6f3ff9690686..7058893d5ad2 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -534,13 +534,14 @@ static inline int simulate_rdhwr(struct pt_regs *regs)
534 switch (rd) { 534 switch (rd) {
535 case 29: 535 case 29:
536 regs->regs[rt] = ti->tp_value; 536 regs->regs[rt] = ti->tp_value;
537 break; 537 return 0;
538 default: 538 default:
539 return -EFAULT; 539 return -EFAULT;
540 } 540 }
541 } 541 }
542 542
543 return 0; 543 /* Not ours. */
544 return -EFAULT;
544} 545}
545 546
546asmlinkage void do_ov(struct pt_regs *regs) 547asmlinkage void do_ov(struct pt_regs *regs)