diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0016-KVM-nVMX-Update-vmcs12-guest_linear_address-on-neste.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.9.21/0016-KVM-nVMX-Update-vmcs12-guest_linear_address-on-neste.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0016-KVM-nVMX-Update-vmcs12-guest_linear_address-on-neste.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0016-KVM-nVMX-Update-vmcs12-guest_linear_address-on-neste.patch new file mode 100644 index 00000000..cf8424c9 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.9.21/0016-KVM-nVMX-Update-vmcs12-guest_linear_address-on-neste.patch @@ -0,0 +1,42 @@ +From d79905a595224c714dc8da5df054653c3b958250 Mon Sep 17 00:00:00 2001 +From: Jim Mattson <jmattson@google.com> +Date: Thu, 1 Jun 2017 12:44:46 -0700 +Subject: [PATCH 16/93] KVM: nVMX: Update vmcs12->guest_linear_address on + nested VM-exit +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +[ Upstream commit d281e13b0bfe745a21061a194e386a949784393f ] + +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> +Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> +Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + arch/x86/kvm/vmx.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c +index 8d842d9..273313f 100644 +--- a/arch/x86/kvm/vmx.c ++++ b/arch/x86/kvm/vmx.c +@@ -10621,8 +10621,7 @@ static void prepare_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); +-- +2.7.4 + |