diff options
author | kib <kib@FreeBSD.org> | 2017-08-09 08:57:00 +0000 |
---|---|---|
committer | Luiz Souza <luiz@netgate.com> | 2018-02-19 14:44:11 -0300 |
commit | 5b5a512657c1593040d28ac2bc8a48fd895aebca (patch) | |
tree | 314ccb3e062dda59c50c7802a154aa306301d547 | |
parent | 00eb70b7d08a826b8a95fd890f398d0eaa79d177 (diff) | |
download | FreeBSD-src-5b5a512657c1593040d28ac2bc8a48fd895aebca.zip FreeBSD-src-5b5a512657c1593040d28ac2bc8a48fd895aebca.tar.gz |
MFC r321919:
Do not call trapsignal() after handling usermode fault or interrupt,
when a signal is not intended to be sent.
(cherry picked from commit 7e1281f6411ce375304d8fa398e1b21508ee0a44)
-rw-r--r-- | sys/amd64/amd64/trap.c | 4 | ||||
-rw-r--r-- | sys/i386/i386/trap.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 4a53593..c2593ce 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -375,7 +375,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 */ @@ -413,7 +413,7 @@ trap(struct trapframe *frame) if (dtrace_return_probe_ptr != NULL && dtrace_return_probe_ptr(®s) == 0) goto out; - break; + goto userout; #endif } } else { diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index 3c8f4b5..000ff17 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(®s) == 0) goto out; - break; + goto userout; #endif } } else { |