|
@@ -12675,7 +12675,7 @@ static int nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu,
|
|
|
vcpu->arch.tsc_offset += vmcs12->tsc_offset;
|
|
|
|
|
|
if (prepare_vmcs02(vcpu, vmcs12, &exit_qual))
|
|
|
- goto fail;
|
|
|
+ goto vmentry_fail_vmexit_guest_mode;
|
|
|
|
|
|
if (from_vmentry) {
|
|
|
nested_get_vmcs12_pages(vcpu);
|
|
@@ -12685,7 +12685,7 @@ static int nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu,
|
|
|
vmcs12->vm_entry_msr_load_addr,
|
|
|
vmcs12->vm_entry_msr_load_count);
|
|
|
if (exit_qual)
|
|
|
- goto fail;
|
|
|
+ goto vmentry_fail_vmexit_guest_mode;
|
|
|
} else {
|
|
|
/*
|
|
|
* The MMU is not initialized to point at the right entities yet and
|
|
@@ -12727,7 +12727,7 @@ static int nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu,
|
|
|
* VMEnter to L2 is a variation of a normal VMexit, as explained in
|
|
|
* 26.7 "VM-entry failures during or after loading guest state".
|
|
|
*/
|
|
|
-fail:
|
|
|
+vmentry_fail_vmexit_guest_mode:
|
|
|
if (vmcs12->cpu_based_vm_exec_control & CPU_BASED_USE_TSC_OFFSETING)
|
|
|
vcpu->arch.tsc_offset -= vmcs12->tsc_offset;
|
|
|
leave_guest_mode(vcpu);
|