diff mbox

KVM: nVMX: Update vmcs12->guest_linear_address on nested VM-exit

Message ID 20170601194446.188113-1-jmattson@google.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jim Mattson June 1, 2017, 7:44 p.m. UTC
The guest-linear address field is set for VM exits due to attempts to
execute LMSW with a memory operand and VM exits due to attempts to
execute INS or OUTS for which the relevant segment is usable,
regardless of whether or not EPT is in use.

Fixes: 119a9c01a5922 ("KVM: nVMX: pass valid guest linear-address to the L1")
Signed-off-by: Jim Mattson <jmattson@google.com>
---
 arch/x86/kvm/vmx.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Radim Krčmář June 7, 2017, 2:41 p.m. UTC | #1
2017-06-01 12:44-0700, Jim Mattson:
> The guest-linear address field is set for VM exits due to attempts to
> execute LMSW with a memory operand and VM exits due to attempts to
> execute INS or OUTS for which the relevant segment is usable,
> regardless of whether or not EPT is in use.
> 
> Fixes: 119a9c01a5922 ("KVM: nVMX: pass valid guest linear-address to the L1")
> Signed-off-by: Jim Mattson <jmattson@google.com>
> ---

Queued, thanks.
diff mbox

Patch

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index c12336087850..ae66ebc7fb82 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -10710,8 +10710,7 @@  static void sync_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12)
 		vmcs12->guest_pdptr3 = vmcs_read64(GUEST_PDPTR3);
 	}
 
-	if (nested_cpu_has_ept(vmcs12))
-		vmcs12->guest_linear_address = vmcs_readl(GUEST_LINEAR_ADDRESS);
+	vmcs12->guest_linear_address = vmcs_readl(GUEST_LINEAR_ADDRESS);
 
 	if (nested_cpu_has_vid(vmcs12))
 		vmcs12->guest_intr_status = vmcs_read16(GUEST_INTR_STATUS);