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ář <rkrcmar@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> 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; > > /* >