]> git.hungrycats.org Git - linux/commitdiff
KVM: nVMX: set IDTR and GDTR limits when loading L1 host state
authorLadi Prosek <lprosek@redhat.com>
Wed, 11 Oct 2017 14:54:42 +0000 (16:54 +0200)
committerSasha Levin <alexander.levin@verizon.com>
Fri, 8 Dec 2017 23:01:04 +0000 (18:01 -0500)
[ Upstream commit 21f2d551183847bc7fbe8d866151d00cdad18752 ]

Intel SDM 27.5.2 Loading Host Segment and Descriptor-Table Registers:

"The GDTR and IDTR limits are each set to FFFFH."

Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
arch/x86/kvm/vmx.c

index 33c1b5311b988f43cf8daa105cd97305f5b18987..2012b7b930ab39cf42e6fa904a4b51a943e015ea 100644 (file)
@@ -9966,6 +9966,8 @@ static void load_vmcs12_host_state(struct kvm_vcpu *vcpu,
        vmcs_writel(GUEST_SYSENTER_EIP, vmcs12->host_ia32_sysenter_eip);
        vmcs_writel(GUEST_IDTR_BASE, vmcs12->host_idtr_base);
        vmcs_writel(GUEST_GDTR_BASE, vmcs12->host_gdtr_base);
+       vmcs_write32(GUEST_IDTR_LIMIT, 0xFFFF);
+       vmcs_write32(GUEST_GDTR_LIMIT, 0xFFFF);
 
        /* If not VM_EXIT_CLEAR_BNDCFGS, the L2 value propagates to L1.  */
        if (vmcs12->vm_exit_controls & VM_EXIT_CLEAR_BNDCFGS)