FAILED: patch "[PATCH] kvm: vmx: allow host to access guest MSR_IA32_BNDCFGS" failed to apply to 4.12-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
691bd4340bef49cf7e5855d06cf24444b5bf2d85Mon Sep 17 00:00:00 2001
From: Haozhong Zhang <[email protected]>
Date: Tue, 4 Jul 2017 10:27:41 +0800
Subject: [PATCH] kvm: vmx: allow host to access guest MSR_IA32_BNDCFGS
It's easier for host applications, such as QEMU, if they can always access guest MSR_IA32_BNDCFGS in VMCS, even though MPX is disabled in guest cpuid.
arch/x86/kvm/vmx.c +4 -2
@@ -3196,7 +3196,8 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) msr_info->data =vmcs_readl (GUEST_SYSENTER_ESP );break ;case MSR_IA32_BNDCFGS : -if (!kvm_mpx_supported () || !guest_cpuid_has_mpx (vcpu)) +if (!kvm_mpx_supported () || + (!msr_info->host_initiated && !guest_cpuid_has_mpx (vcpu)))return 1 ; msr_info->data =vmcs_read64 (GUEST_BNDCFGS );break ;
@@ -3278,7 +3279,8 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)vmcs_writel (GUEST_SYSENTER_ESP , data);break ;case MSR_IA32_BNDCFGS : -if (!kvm_mpx_supported () || !guest_cpuid_has_mpx (vcpu)) +if (!kvm_mpx_supported () || + (!msr_info->host_initiated && !guest_cpuid_has_mpx (vcpu)))return 1 ;if (is_noncanonical_address (data &PAGE_MASK ) || (data &MSR_IA32_BNDCFGS_RSVD ))
Quoted 9 lines · On 07/18/17 17:06 +0200, [email protected] wrote:
The patch below does not apply to the 4.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.thanks,
greg k-h
Hi Paolo and Greg,
I think the following patches should be backported as well before applying mine:
a8b6fda38f80 kvm: vmx: Do not disable intercepts for BNDCFGS 4439af9f911a kvm: x86: Guest BNDCFGS requires guest MPX support 4531662d1abf kvm: vmx: Check value written to IA32_BNDCFGS
Haozhong
Quoted 41 lines
------------------ original commit in Linus's tree ------------------
From
691bd4340bef49cf7e5855d06cf24444b5bf2d85Mon Sep 17 00:00:00 2001
From: Haozhong Zhang <[email protected]>
Date: Tue, 4 Jul 2017 10:27:41 +0800
Subject: [PATCH] kvm: vmx: allow host to access guestMSR_IA32_BNDCFGSIt's easier for host applications, such as QEMU, if they can always access guest
MSR_IA32_BNDCFGSin VMCS, even though MPX is disabled in guest cpuid.Signed-off-by Haozhong Zhang <[email protected]>Signed-off-by Paolo Bonzini <[email protected]>arch/x86/kvm/vmx.c +4
-2@@ -3196,7 +3196,8 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) msr_info->data =vmcs_readl (GUEST_SYSENTER_ESP );break ;case MSR_IA32_BNDCFGS : -if (!kvm_mpx_supported () || !guest_cpuid_has_mpx (vcpu)) +if (!kvm_mpx_supported () || + (!msr_info->host_initiated && !guest_cpuid_has_mpx (vcpu)))return 1 ; msr_info->data =vmcs_read64 (GUEST_BNDCFGS );break ;@@ -3278,7 +3279,8 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)vmcs_writel (GUEST_SYSENTER_ESP , data);break ;case MSR_IA32_BNDCFGS : -if (!kvm_mpx_supported () || !guest_cpuid_has_mpx (vcpu)) +if (!kvm_mpx_supported () || + (!msr_info->host_initiated && !guest_cpuid_has_mpx (vcpu)))return 1 ;if (is_noncanonical_address (data &PAGE_MASK ) || (data &MSR_IA32_BNDCFGS_RSVD ))
Greg KH
maintainerQuoted 11 lines · On Wed, Jul 19, 2017 at 09:10:58AM +0800, [email protected] wrote:
Quoted 9 lines · On 07/18/17 17:06 +0200, [email protected] wrote:
The patch below does not apply to the 4.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.thanks,
greg k-h
Quoted 8 lines
Hi Paolo and Greg,
I think the following patches should be backported as well before applying mine:
a8b6fda38f80kvm: vmx: Do not disable intercepts for BNDCFGS4439af9f911akvm: x86: Guest BNDCFGS requires guest MPX support4531662d1abfkvm: vmx: Check value written toIA32_BNDCFGS
Thanks, that looks like it worked!
greg k-h
Paolo Bonzini
maintainerQuoted 6 lines · On 19/07/2017 03:10, [email protected] wrote:
I think the following patches should be backported as well before applying mine:
a8b6fda38f80kvm: vmx: Do not disable intercepts for BNDCFGS4439af9f911akvm: x86: Guest BNDCFGS requires guest MPX support4531662d1abfkvm: vmx: Check value written toIA32_BNDCFGS
Ack, all three are good bugfixes for 4.12 (read, safe enough that Haozhong's patch shouldn't be blocked or backported manually).
Thanks,
Paolo