summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2017-08-09 08:57:00 +0000
committerkib <kib@FreeBSD.org>2017-08-09 08:57:00 +0000
commit7e1281f6411ce375304d8fa398e1b21508ee0a44 (patch)
tree833be3af9f9abd640c18631480ff122417f851f6
parentd8314828981fa5700fde62210ab31bb5740a3742 (diff)
downloadFreeBSD-src-7e1281f6411ce375304d8fa398e1b21508ee0a44.zip
FreeBSD-src-7e1281f6411ce375304d8fa398e1b21508ee0a44.tar.gz
MFC r321919:
Do not call trapsignal() after handling usermode fault or interrupt, when a signal is not intended to be sent.
-rw-r--r--sys/amd64/amd64/trap.c4
-rw-r--r--sys/i386/i386/trap.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c
index d3adf65..7539422 100644
--- a/sys/amd64/amd64/trap.c
+++ b/sys/amd64/amd64/trap.c
@@ -370,7 +370,7 @@ trap(struct trapframe *frame)
#ifdef DEV_ISA
case T_NMI:
nmi_handle_intr(type, frame);
- break;
+ goto out;
#endif /* DEV_ISA */
case T_OFLOW: /* integer overflow fault */
@@ -408,7 +408,7 @@ trap(struct trapframe *frame)
if (dtrace_return_probe_ptr != NULL &&
dtrace_return_probe_ptr(&regs) == 0)
goto out;
- break;
+ goto userout;
#endif
}
} else {
diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c
index 7606655..0dd8799 100644
--- a/sys/i386/i386/trap.c
+++ b/sys/i386/i386/trap.c
@@ -455,7 +455,7 @@ user_trctrap_out:
goto userout;
#else /* !POWERFAIL_NMI */
nmi_handle_intr(type, frame);
- break;
+ goto out;
#endif /* POWERFAIL_NMI */
#endif /* DEV_ISA */
@@ -499,7 +499,7 @@ user_trctrap_out:
if (dtrace_return_probe_ptr != NULL &&
dtrace_return_probe_ptr(&regs) == 0)
goto out;
- break;
+ goto userout;
#endif
}
} else {
OpenPOWER on IntegriCloud