summaryrefslogtreecommitdiffstats
path: root/sys/amd64/vmm/intel/vmx.c
diff options
context:
space:
mode:
authorneel <neel@FreeBSD.org>2015-05-22 17:34:22 +0000
committerneel <neel@FreeBSD.org>2015-05-22 17:34:22 +0000
commit4d7716dd23ac606cf6ea30d64fbd0edeb38e0f57 (patch)
tree155b45fee502b21b2abdb34f983c46d3adb155f6 /sys/amd64/vmm/intel/vmx.c
parent318c4f97e694c1972b55450cafe914f39977d179 (diff)
downloadFreeBSD-src-4d7716dd23ac606cf6ea30d64fbd0edeb38e0f57.zip
FreeBSD-src-4d7716dd23ac606cf6ea30d64fbd0edeb38e0f57.tar.gz
Don't rely on the 'VM-exit instruction length' field in the VMCS to always
have an accurate length on an EPT violation. This is not needed by the instruction decoding code because it also has to work with AMD/SVM that does not provide a valid instruction length on a Nested Page Fault. In collaboration with: Leon Dang (ldang@nahannisys.com) Discussed with: grehan MFC after: 1 week
Diffstat (limited to 'sys/amd64/vmm/intel/vmx.c')
-rw-r--r--sys/amd64/vmm/intel/vmx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c
index 03d755c..4c3f20d 100644
--- a/sys/amd64/vmm/intel/vmx.c
+++ b/sys/amd64/vmm/intel/vmx.c
@@ -1780,6 +1780,7 @@ vmexit_inst_emul(struct vm_exit *vmexit, uint64_t gpa, uint64_t gla)
paging = &vmexit->u.inst_emul.paging;
vmexit->exitcode = VM_EXITCODE_INST_EMUL;
+ vmexit->inst_length = 0;
vmexit->u.inst_emul.gpa = gpa;
vmexit->u.inst_emul.gla = gla;
vmx_paging_info(paging);
OpenPOWER on IntegriCloud