ACK: [SRU][Wily] KVM: VMX: Fix host initiated access to guest MSR_TSC_AUX

Brad Figg brad.figg at canonical.com
Wed Mar 2 23:38:14 UTC 2016


On Wed, Mar 02, 2016 at 02:39:23PM -0800, Kamal Mostafa wrote:
> From: Haozhong Zhang <haozhong.zhang at intel.com>
> 
> BugLink: {{ TBD: See the kernel-team ML thread:
>     "KVM/QEMU live migration fails with Ubuntu wily kernel 4.2.0-30.35"
>     Note this backport is also queued for 4.2-stable.  -Kamal }}
> 
> commit 81b1b9ca6d5ca5f3ce91c0095402def657cf5db3 upstream.
> 
> The current handling of accesses to guest MSR_TSC_AUX returns error if
> vcpu does not support rdtscp, though those accesses are initiated by
> host. This can result in the reboot failure of some versions of
> QEMU. This patch fixes this issue by passing those host initiated
> accesses for further handling instead.
> 
> Signed-off-by: Haozhong Zhang <haozhong.zhang at intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
> Backported-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
> Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> ---
>  arch/x86/kvm/vmx.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 6b56056..44976a5 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -2673,7 +2673,7 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
>  		msr_info->data = vcpu->arch.ia32_xss;
>  		break;
>  	case MSR_TSC_AUX:
> -		if (!to_vmx(vcpu)->rdtscp_enabled)
> +		if (!to_vmx(vcpu)->rdtscp_enabled && !msr_info->host_initiated)
>  			return 1;
>  		/* Otherwise falls through */
>  	default:
> @@ -2779,7 +2779,7 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
>  			clear_atomic_switch_msr(vmx, MSR_IA32_XSS);
>  		break;
>  	case MSR_TSC_AUX:
> -		if (!vmx->rdtscp_enabled)
> +		if (!vmx->rdtscp_enabled && !msr_info->host_initiated)
>  			return 1;
>  		/* Check reserved bit, higher 32 bits should be zero */
>  		if ((data >> 32) != 0)
> -- 
> 2.1.4
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

Looks like a valid cherry-pick.

-- 
Brad Figg brad.figg at canonical.com http://www.canonical.com




More information about the kernel-team mailing list