|
@@ -7180,9 +7180,6 @@ static int handle_vmon(struct kvm_vcpu *vcpu)
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
- if (nested_vmx_check_vmptr(vcpu, EXIT_REASON_VMON, NULL))
|
|
|
|
- return 1;
|
|
|
|
-
|
|
|
|
if (vmx->nested.vmxon) {
|
|
if (vmx->nested.vmxon) {
|
|
nested_vmx_failValid(vcpu, VMXERR_VMXON_IN_VMX_ROOT_OPERATION);
|
|
nested_vmx_failValid(vcpu, VMXERR_VMXON_IN_VMX_ROOT_OPERATION);
|
|
return kvm_skip_emulated_instruction(vcpu);
|
|
return kvm_skip_emulated_instruction(vcpu);
|
|
@@ -7194,6 +7191,9 @@ static int handle_vmon(struct kvm_vcpu *vcpu)
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (nested_vmx_check_vmptr(vcpu, EXIT_REASON_VMON, NULL))
|
|
|
|
+ return 1;
|
|
|
|
+
|
|
if (cpu_has_vmx_msr_bitmap()) {
|
|
if (cpu_has_vmx_msr_bitmap()) {
|
|
vmx->nested.msr_bitmap =
|
|
vmx->nested.msr_bitmap =
|
|
(unsigned long *)__get_free_page(GFP_KERNEL);
|
|
(unsigned long *)__get_free_page(GFP_KERNEL);
|