mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 06:10:56 +00:00
KVM: VMX: Don't toggle VM_ENTRY_IA32E_MODE for 32-bit kernels/KVM
Don't toggle VM_ENTRY_IA32E_MODE in 32-bit kernels/KVM and instead bug the VM if KVM attempts to run the guest with EFER.LMA=1. KVM doesn't support running 64-bit guests with 32-bit hosts. Signed-off-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Sean Christopherson <seanjc@google.com> Link: https://lore.kernel.org/r/20220830133737.1539624-23-vkuznets@redhat.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
1dae276569
commit
ebb3c8d409
1 changed files with 5 additions and 0 deletions
|
@ -3039,10 +3039,15 @@ int vmx_set_efer(struct kvm_vcpu *vcpu, u64 efer)
|
|||
return 0;
|
||||
|
||||
vcpu->arch.efer = efer;
|
||||
#ifdef CONFIG_X86_64
|
||||
if (efer & EFER_LMA)
|
||||
vm_entry_controls_setbit(vmx, VM_ENTRY_IA32E_MODE);
|
||||
else
|
||||
vm_entry_controls_clearbit(vmx, VM_ENTRY_IA32E_MODE);
|
||||
#else
|
||||
if (KVM_BUG_ON(efer & EFER_LMA, vcpu->kvm))
|
||||
return 1;
|
||||
#endif
|
||||
|
||||
vmx_setup_uret_msrs(vmx);
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue