summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMike Larkin <mlarkin@cvs.openbsd.org>2018-07-09 13:33:33 +0000
committerMike Larkin <mlarkin@cvs.openbsd.org>2018-07-09 13:33:33 +0000
commitc642c12f3289df3090abeec5371bea09b1f683e8 (patch)
treebc843a9c2577b8e48b2a0eb28f4bf79978642e93 /sys/arch
parentf9c335092fa4f17ef4e74c1d5e4f4fb224440471 (diff)
vmm(4): inject #UD on vmx instructions, instead of dropping into the
unhandled exit function. ok phessler
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/amd64/amd64/vmm.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/arch/amd64/amd64/vmm.c b/sys/arch/amd64/amd64/vmm.c
index 9a2508ccaab..6b9908d6c76 100644
--- a/sys/arch/amd64/amd64/vmm.c
+++ b/sys/arch/amd64/amd64/vmm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmm.c,v 1.207 2018/07/05 04:36:14 mlarkin Exp $ */
+/* $OpenBSD: vmm.c,v 1.208 2018/07/09 13:33:32 mlarkin Exp $ */
/*
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
*
@@ -4578,6 +4578,19 @@ vmx_handle_exit(struct vcpu *vcpu)
break;
case VMX_EXIT_MWAIT:
case VMX_EXIT_MONITOR:
+ case VMX_EXIT_VMXON:
+ case VMX_EXIT_VMWRITE:
+ case VMX_EXIT_VMREAD:
+ case VMX_EXIT_VMLAUNCH:
+ case VMX_EXIT_VMRESUME:
+ case VMX_EXIT_VMPTRLD:
+ case VMX_EXIT_VMPTRST:
+ case VMX_EXIT_VMCLEAR:
+ case VMX_EXIT_VMCALL:
+ case VMX_EXIT_VMFUNC:
+ case VMX_EXIT_VMXOFF:
+ case VMX_EXIT_INVVPID:
+ case VMX_EXIT_INVEPT:
ret = vmm_inject_ud(vcpu);
update_rip = 0;
break;