svn commit: r328135 - head/sys/amd64/amd64

John Baldwin jhb at FreeBSD.org
Thu Jan 18 20:12:14 UTC 2018


Author: jhb
Date: Thu Jan 18 20:12:12 2018
New Revision: 328135
URL: https://svnweb.freebsd.org/changeset/base/328135

Log:
  Adjust branch target in NMI handler for the !PTI case.
  
  In the !PTI case the NMI handler jumped past the instructions that set
  %rdi to point to the current PCB, but the target instructions assumed %rdi
  were set.
  
  Reviewed by:	kib
  Tested by:	pho

Modified:
  head/sys/amd64/amd64/exception.S

Modified: head/sys/amd64/amd64/exception.S
==============================================================================
--- head/sys/amd64/amd64/exception.S	Thu Jan 18 19:43:02 2018	(r328134)
+++ head/sys/amd64/amd64/exception.S	Thu Jan 18 20:12:12 2018	(r328135)
@@ -571,11 +571,11 @@ nmi_fromuserspace:
 	cmpq	$~0,%rax
 	je	1f
 	movq	%rax,%cr3
-	movq	PCPU(CURPCB),%rdi
+1:	movq	PCPU(CURPCB),%rdi
 	testq	%rdi,%rdi
 	jz	3f
 	orl	$PCB_FULL_IRET,PCB_FLAGS(%rdi)
-1:	testb	$CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip)
+	testb	$CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip)
 	jz	3f
 	cmpw	$KUF32SEL,TF_FS(%rsp)
 	jne	2f


More information about the svn-src-all mailing list