Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Aug 2017 08:57:00 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r322301 - in stable/11/sys: amd64/amd64 i386/i386
Message-ID:  <201708090857.v798v0oG002422@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Wed Aug  9 08:57:00 2017
New Revision: 322301
URL: https://svnweb.freebsd.org/changeset/base/322301

Log:
  MFC r321919:
  Do not call trapsignal() after handling usermode fault or interrupt,
  when a signal is not intended to be sent.

Modified:
  stable/11/sys/amd64/amd64/trap.c
  stable/11/sys/i386/i386/trap.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/amd64/amd64/trap.c
==============================================================================
--- stable/11/sys/amd64/amd64/trap.c	Wed Aug  9 07:24:58 2017	(r322300)
+++ stable/11/sys/amd64/amd64/trap.c	Wed Aug  9 08:57:00 2017	(r322301)
@@ -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 {

Modified: stable/11/sys/i386/i386/trap.c
==============================================================================
--- stable/11/sys/i386/i386/trap.c	Wed Aug  9 07:24:58 2017	(r322300)
+++ stable/11/sys/i386/i386/trap.c	Wed Aug  9 08:57:00 2017	(r322301)
@@ -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 {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708090857.v798v0oG002422>