aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/nds32/kernel/traps.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/arch/nds32/kernel/traps.c b/arch/nds32/kernel/traps.c
index 6e34eb9824a4..65961bf91d64 100644
--- a/arch/nds32/kernel/traps.c
+++ b/arch/nds32/kernel/traps.c
@@ -318,29 +318,22 @@ void do_debug_trap(unsigned long entry, unsigned long addr,
318 318
319void unhandled_interruption(struct pt_regs *regs) 319void unhandled_interruption(struct pt_regs *regs)
320{ 320{
321 siginfo_t si;
322 pr_emerg("unhandled_interruption\n"); 321 pr_emerg("unhandled_interruption\n");
323 show_regs(regs); 322 show_regs(regs);
324 if (!user_mode(regs)) 323 if (!user_mode(regs))
325 do_exit(SIGKILL); 324 do_exit(SIGKILL);
326 si.si_signo = SIGKILL; 325 force_sig(SIGKILL, current);
327 si.si_errno = 0;
328 force_sig_info(SIGKILL, &si, current);
329} 326}
330 327
331void unhandled_exceptions(unsigned long entry, unsigned long addr, 328void unhandled_exceptions(unsigned long entry, unsigned long addr,
332 unsigned long type, struct pt_regs *regs) 329 unsigned long type, struct pt_regs *regs)
333{ 330{
334 siginfo_t si;
335 pr_emerg("Unhandled Exception: entry: %lx addr:%lx itype:%lx\n", entry, 331 pr_emerg("Unhandled Exception: entry: %lx addr:%lx itype:%lx\n", entry,
336 addr, type); 332 addr, type);
337 show_regs(regs); 333 show_regs(regs);
338 if (!user_mode(regs)) 334 if (!user_mode(regs))
339 do_exit(SIGKILL); 335 do_exit(SIGKILL);
340 si.si_signo = SIGKILL; 336 force_sig(SIGKILL, current);
341 si.si_errno = 0;
342 si.si_addr = (void *)addr;
343 force_sig_info(SIGKILL, &si, current);
344} 337}
345 338
346extern int do_page_fault(unsigned long entry, unsigned long addr, 339extern int do_page_fault(unsigned long entry, unsigned long addr,