public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] KVM: x86: Fix MSR_IA32_BNDCFGS in msrs_to_save
@ 2015-04-12 18:47 Nadav Amit
  2015-04-13 10:08 ` Paolo Bonzini
  0 siblings, 1 reply; 2+ messages in thread
From: Nadav Amit @ 2015-04-12 18:47 UTC (permalink / raw)
  To: pbonzini; +Cc: kvm, Nadav Amit

kvm_init_msr_list is currently called before hardware_setup. As a result,
vmx_mpx_supported always returns false when kvm_init_msr_list checks whether to
save MSR_IA32_BNDCFGS.

Move kvm_init_msr_list after vmx_hardware_setup is called to fix this issue.

Signed-off-by: Nadav Amit <namit@cs.technion.ac.il>

---

Note that this patch was not tested on a system that supports MPX.
---
 arch/x86/kvm/x86.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index b8cb1d0..b7e3b05 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5800,7 +5800,6 @@ int kvm_arch_init(void *opaque)
 	kvm_set_mmio_spte_mask();
 
 	kvm_x86_ops = ops;
-	kvm_init_msr_list();
 
 	kvm_mmu_set_mask_ptes(PT_USER_MASK, PT_ACCESSED_MASK,
 			PT_DIRTY_MASK, PT64_NX_MASK, 0);
@@ -7254,7 +7253,14 @@ void kvm_arch_hardware_disable(void)
 
 int kvm_arch_hardware_setup(void)
 {
-	return kvm_x86_ops->hardware_setup();
+	int r;
+
+	r = kvm_x86_ops->hardware_setup();
+	if (r != 0)
+		return r;
+
+	kvm_init_msr_list();
+	return 0;
 }
 
 void kvm_arch_hardware_unsetup(void)
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] KVM: x86: Fix MSR_IA32_BNDCFGS in msrs_to_save
  2015-04-12 18:47 [PATCH] KVM: x86: Fix MSR_IA32_BNDCFGS in msrs_to_save Nadav Amit
@ 2015-04-13 10:08 ` Paolo Bonzini
  0 siblings, 0 replies; 2+ messages in thread
From: Paolo Bonzini @ 2015-04-13 10:08 UTC (permalink / raw)
  To: Nadav Amit; +Cc: kvm



On 12/04/2015 20:47, Nadav Amit wrote:
> kvm_init_msr_list is currently called before hardware_setup. As a result,
> vmx_mpx_supported always returns false when kvm_init_msr_list checks whether to
> save MSR_IA32_BNDCFGS.
> 
> Move kvm_init_msr_list after vmx_hardware_setup is called to fix this issue.
> 
> Signed-off-by: Nadav Amit <namit@cs.technion.ac.il>
> 
> ---
> 
> Note that this patch was not tested on a system that supports MPX.
> ---
>  arch/x86/kvm/x86.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index b8cb1d0..b7e3b05 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -5800,7 +5800,6 @@ int kvm_arch_init(void *opaque)
>  	kvm_set_mmio_spte_mask();
>  
>  	kvm_x86_ops = ops;
> -	kvm_init_msr_list();
>  
>  	kvm_mmu_set_mask_ptes(PT_USER_MASK, PT_ACCESSED_MASK,
>  			PT_DIRTY_MASK, PT64_NX_MASK, 0);
> @@ -7254,7 +7253,14 @@ void kvm_arch_hardware_disable(void)
>  
>  int kvm_arch_hardware_setup(void)
>  {
> -	return kvm_x86_ops->hardware_setup();
> +	int r;
> +
> +	r = kvm_x86_ops->hardware_setup();
> +	if (r != 0)
> +		return r;
> +
> +	kvm_init_msr_list();
> +	return 0;
>  }
>  
>  void kvm_arch_hardware_unsetup(void)
> 

Applied (locally) for 4.1 with Cc stable.

Paolo

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-04-13 10:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-12 18:47 [PATCH] KVM: x86: Fix MSR_IA32_BNDCFGS in msrs_to_save Nadav Amit
2015-04-13 10:08 ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox