diff options
author | Daniel Jacobowitz <dan@debian.org> | 2005-11-26 22:34:41 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-12-01 11:05:14 +0000 |
commit | 56ebd51bae72c2e47c83f6eacf258479d5658ec8 (patch) | |
tree | eb39e5ee383815c0185b910523d5470088f93494 /arch | |
parent | b6c3539bdd6d766cffea76698c85ebb92bf3fb12 (diff) | |
download | op-kernel-dev-56ebd51bae72c2e47c83f6eacf258479d5658ec8.zip op-kernel-dev-56ebd51bae72c2e47c83f6eacf258479d5658ec8.tar.gz |
[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.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 6f3ff96..7058893 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) switch (rd) { case 29: regs->regs[rt] = ti->tp_value; - break; + return 0; default: return -EFAULT; } } - return 0; + /* Not ours. */ + return -EFAULT; } asmlinkage void do_ov(struct pt_regs *regs) |