diff options
author | Mike Larkin <mlarkin@cvs.openbsd.org> | 2018-07-09 13:33:33 +0000 |
---|---|---|
committer | Mike Larkin <mlarkin@cvs.openbsd.org> | 2018-07-09 13:33:33 +0000 |
commit | c642c12f3289df3090abeec5371bea09b1f683e8 (patch) | |
tree | bc843a9c2577b8e48b2a0eb28f4bf79978642e93 /sys/arch | |
parent | f9c335092fa4f17ef4e74c1d5e4f4fb224440471 (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.c | 15 |
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; |