Unverified Commit 2c096246 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!9997 openrisc: traps: Don't send signals to kernel mode threads

parents 8a60d2dc 90fc3b76
Loading
Loading
Loading
Loading
+29 −19
Original line number Diff line number Diff line
@@ -180,6 +180,7 @@ asmlinkage void unhandled_exception(struct pt_regs *regs, int ea, int vector)

asmlinkage void do_fpe_trap(struct pt_regs *regs, unsigned long address)
{
	if (user_mode(regs)) {
		int code = FPE_FLTUNK;
		unsigned long fpcsr = regs->fpcsr;

@@ -198,11 +199,20 @@ asmlinkage void do_fpe_trap(struct pt_regs *regs, unsigned long address)
		regs->fpcsr &= ~SPR_FPCSR_ALLF;

		force_sig_fault(SIGFPE, code, (void __user *)regs->pc);
	} else {
		pr_emerg("KERNEL: Illegal fpe exception 0x%.8lx\n", regs->pc);
		die("Die:", regs, SIGFPE);
	}
}

asmlinkage void do_trap(struct pt_regs *regs, unsigned long address)
{
	if (user_mode(regs)) {
		force_sig_fault(SIGTRAP, TRAP_BRKPT, (void __user *)regs->pc);
	} else {
		pr_emerg("KERNEL: Illegal trap exception 0x%.8lx\n", regs->pc);
		die("Die:", regs, SIGILL);
	}
}

asmlinkage void do_unaligned_access(struct pt_regs *regs, unsigned long address)