KVM: x86: fix backward migration with async_PF
authorRadim Krčmář <[email protected]>
Thu, 1 Feb 2018 21:16:21 +0000 (22:16 +0100)
committerPaolo Bonzini <[email protected]>
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: <[email protected]>
Reviewed-by: Wanpeng Li <[email protected]>
Reviewed-by: David Hildenbrand <[email protected]>
Signed-off-by: Radim Krčmář <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
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