diff options
Diffstat (limited to 'arch/mips/kernel/unaligned.c')
-rw-r--r-- | arch/mips/kernel/unaligned.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c index 672388d52..9325c9519 100644 --- a/arch/mips/kernel/unaligned.c +++ b/arch/mips/kernel/unaligned.c @@ -82,6 +82,7 @@ #include <asm/byteorder.h> #include <asm/inst.h> #include <asm/uaccess.h> +#include <asm/system.h> #define STR(x) __STR(x) #define __STR(x) #x @@ -364,12 +365,15 @@ fault: return; } + die_if_kernel ("Unhandled kernel unaligned access", regs); send_sig(SIGSEGV, current, 1); return; sigbus: + die_if_kernel ("Unhandled kernel unaligned access", regs); send_sig(SIGBUS, current, 1); return; sigill: + die_if_kernel ("Unhandled kernel unaligned access or invalid instruction", regs); send_sig(SIGILL, current, 1); return; } @@ -415,6 +419,7 @@ asmlinkage void do_ade(struct pt_regs *regs) return; sigbus: + die_if_kernel ("Kernel unaligned instruction access", regs); force_sig(SIGBUS, current); return; |