diff options
| -rw-r--r-- | arch/x86/kvm/vmx/nested.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index 6b450839c766..1032f068f0b9 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -2784,14 +2784,13 @@ static int nested_vmx_check_vmentry_hw(struct kvm_vcpu *vcpu)  	      : "cc", "memory"  	); -	preempt_enable(); -  	if (vmx->msr_autoload.host.nr)  		vmcs_write32(VM_EXIT_MSR_LOAD_COUNT, vmx->msr_autoload.host.nr);  	if (vmx->msr_autoload.guest.nr)  		vmcs_write32(VM_ENTRY_MSR_LOAD_COUNT, vmx->msr_autoload.guest.nr);  	if (vm_fail) { +		preempt_enable();  		WARN_ON_ONCE(vmcs_read32(VM_INSTRUCTION_ERROR) !=  			     VMXERR_ENTRY_INVALID_CONTROL_FIELD);  		return 1; @@ -2803,6 +2802,7 @@ static int nested_vmx_check_vmentry_hw(struct kvm_vcpu *vcpu)  	local_irq_enable();  	if (hw_breakpoint_active())  		set_debugreg(__this_cpu_read(cpu_dr7), 7); +	preempt_enable();  	/*  	 * A non-failing VMEntry means we somehow entered guest mode with |