svn commit: r321004 - stable/11/sys/i386/i386

Konstantin Belousov kib at FreeBSD.org
Sat Jul 15 06:33:41 UTC 2017


Author: kib
Date: Sat Jul 15 06:33:39 2017
New Revision: 321004
URL: https://svnweb.freebsd.org/changeset/base/321004

Log:
  MFC r320804:
  Fix handling of one more possible exception on return to usermode.

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

Modified: stable/11/sys/i386/i386/trap.c
==============================================================================
--- stable/11/sys/i386/i386/trap.c	Sat Jul 15 01:49:54 2017	(r321003)
+++ stable/11/sys/i386/i386/trap.c	Sat Jul 15 06:33:39 2017	(r321004)
@@ -550,11 +550,7 @@ user_trctrap_out:
 					vm86_trap((struct vm86frame *)frame);
 				goto out;
 			}
-			if (type == T_STKFLT)
-				break;
-
 			/* FALL THROUGH */
-
 		case T_SEGNPFLT:	/* segment not present fault */
 			if (curpcb->pcb_flags & PCB_VM86CALL)
 				break;
@@ -595,6 +591,9 @@ user_trctrap_out:
 				frame->tf_eip = (int)doreti_iret_fault;
 				goto out;
 			}
+			if (type == T_STKFLT)
+				break;
+
 			if (frame->tf_eip == (int)doreti_popl_ds) {
 				frame->tf_eip = (int)doreti_popl_ds_fault;
 				goto out;


More information about the svn-src-all mailing list