diff mbox

[1/3] kvm: vmx: Do not disable intercepts for BNDCFGS

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

Commit Message

Jim Mattson May 23, 2017, 6:52 p.m. UTC
The MSR permission bitmaps are shared by all VMs. However, some VMs
may not be configured to support MPX, even when the host does. If the
host supports VMX and the guest does not, we should intercept accesses
to the BNDCFGS MSR, so that we can synthesize a #GP
fault. Furthermore, if the host does not support MPX and the
"ignore_msrs" kvm kernel parameter is set, then we should intercept
accesses to the BNDCFGS MSR, so that we can skip over the rdmsr/wrmsr
without raising a #GP fault.

Fixes: da8999d31818fdc8 ("KVM: x86: Intel MPX vmx and msr handle")
Signed-off-by: Jim Mattson <jmattson@google.com>
---
 arch/x86/kvm/vmx.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Radim Krčmář May 24, 2017, 3:05 p.m. UTC | #1
2017-05-23 11:52-0700, Jim Mattson:
> The MSR permission bitmaps are shared by all VMs. However, some VMs
> may not be configured to support MPX, even when the host does. If the
> host supports VMX and the guest does not, we should intercept accesses
> to the BNDCFGS MSR, so that we can synthesize a #GP
> fault. Furthermore, if the host does not support MPX and the
> "ignore_msrs" kvm kernel parameter is set, then we should intercept
> accesses to the BNDCFGS MSR, so that we can skip over the rdmsr/wrmsr
> without raising a #GP fault.
> 
> Fixes: da8999d31818fdc8 ("KVM: x86: Intel MPX vmx and msr handle")
> Signed-off-by: Jim Mattson <jmattson@google.com>
> ---

IIUC, we don't even need faster accesses as BNDCFGS MSR should usually
be written once per boot and never read,

Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Radim Krčmář June 7, 2017, 2:31 p.m. UTC | #2
2017-05-23 11:52-0700, Jim Mattson:
> The MSR permission bitmaps are shared by all VMs. However, some VMs
> may not be configured to support MPX, even when the host does. If the
> host supports VMX and the guest does not, we should intercept accesses
> to the BNDCFGS MSR, so that we can synthesize a #GP
> fault. Furthermore, if the host does not support MPX and the
> "ignore_msrs" kvm kernel parameter is set, then we should intercept
> accesses to the BNDCFGS MSR, so that we can skip over the rdmsr/wrmsr
> without raising a #GP fault.
> 
> Fixes: da8999d31818fdc8 ("KVM: x86: Intel MPX vmx and msr handle")
> Signed-off-by: Jim Mattson <jmattson@google.com>
> ---

Queued all, thanks.
diff mbox

Patch

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index c6f4ad44aa95..763d27ee00fb 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -6547,7 +6547,6 @@  static __init int hardware_setup(void)
 	vmx_disable_intercept_for_msr(MSR_IA32_SYSENTER_CS, false);
 	vmx_disable_intercept_for_msr(MSR_IA32_SYSENTER_ESP, false);
 	vmx_disable_intercept_for_msr(MSR_IA32_SYSENTER_EIP, false);
-	vmx_disable_intercept_for_msr(MSR_IA32_BNDCFGS, true);
 
 	memcpy(vmx_msr_bitmap_legacy_x2apic_apicv,
 			vmx_msr_bitmap_legacy, PAGE_SIZE);