From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH] KVM: x86: do not save guest-unsupported XSAVE state Date: Wed, 1 Feb 2017 16:13:36 -0800 Message-ID: <42ae50e8-444c-5b0b-e13b-266e3bf80ca3@redhat.com> References: <20170201131953.30098-1-rkrcmar@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, stable Return-path: In-Reply-To: <20170201131953.30098-1-rkrcmar@redhat.com> Sender: stable-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 01/02/2017 05:19, Radim Krčmář wrote: > Saving unsupported state prevents migration when the new host does not > support a XSAVE feature of the original host, even if the feature is not > exposed to the guest. > > We've masked host features with guest-visible features before, with > 4344ee981e21 ("KVM: x86: only copy XSAVE state for the supported > features") and dropped it when implementing XSAVES. Do it again. > > Fixes: df1daba7d1cb ("KVM: x86: support XSAVES usage in the host") > Signed-off-by: Radim Krčmář Cc: stable@vger.kernel.org Reviewed-by: Paolo Bonzini Please apply to kvm/master and send it yourself to Linus since I don't have access to my machine this week. Paolo > --- > arch/x86/kvm/x86.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 96dd7dd13ee6..5f013ad89b57 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -3221,6 +3221,7 @@ static void fill_xsave(u8 *dest, struct kvm_vcpu *vcpu) > memcpy(dest, xsave, XSAVE_HDR_OFFSET); > > /* Set XSTATE_BV */ > + xstate_bv &= vcpu->arch.guest_supported_xcr0 | XFEATURE_MASK_FPSSE; > *(u64 *)(dest + XSAVE_HDR_OFFSET) = xstate_bv; > > /* >