KVM: x86: fix backward migration with async_PF
authorRadim Krčmář <rkrcmar@redhat.com>
Thu, 1 Feb 2018 21:16:21 +0000 (22:16 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 24 Feb 2018 00:43:48 +0000 (01:43 +0100)
commitfe2a3027e74e40a3ece3a4c1e4e51403090a907a
tree1f69d431c10dd68c11f429d2cac9af9cea3bb490
parentf75e4924f0152be747bf04c9d16bb23fd8baf5f9
KVM: x86: fix backward migration with async_PF

Guests on new hypersiors might set KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT
bit when enabling async_PF, but this bit is reserved on old hypervisors,
which results in a failure upon migration.

To avoid breaking different cases, we are checking for CPUID feature bit
before enabling the feature and nothing else.

Fixes: 52a5c155cf79 ("KVM: async_pf: Let guest support delivery of async_pf from guest mode")
Cc: <stable@vger.kernel.org>
Reviewed-by: Wanpeng Li <wanpengli@tencent.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Documentation/virtual/kvm/cpuid.txt
Documentation/virtual/kvm/msr.txt
arch/x86/include/uapi/asm/kvm_para.h
arch/x86/kernel/kvm.c
arch/x86/kvm/cpuid.c