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 <[email protected]>
> 
> ---
> 
> 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
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to