|
@@ -4485,7 +4485,8 @@ static int vmx_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4)
|
|
vmcs_set_bits(SECONDARY_VM_EXEC_CONTROL,
|
|
vmcs_set_bits(SECONDARY_VM_EXEC_CONTROL,
|
|
SECONDARY_EXEC_DESC);
|
|
SECONDARY_EXEC_DESC);
|
|
hw_cr4 &= ~X86_CR4_UMIP;
|
|
hw_cr4 &= ~X86_CR4_UMIP;
|
|
- } else
|
|
|
|
|
|
+ } else if (!is_guest_mode(vcpu) ||
|
|
|
|
+ !nested_cpu_has2(get_vmcs12(vcpu), SECONDARY_EXEC_DESC))
|
|
vmcs_clear_bits(SECONDARY_VM_EXEC_CONTROL,
|
|
vmcs_clear_bits(SECONDARY_VM_EXEC_CONTROL,
|
|
SECONDARY_EXEC_DESC);
|
|
SECONDARY_EXEC_DESC);
|
|
|
|
|