]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86/cpuid: Exclude unpermitted xfeatures sizes at KVM_GET_SUPPORTED_CPUID
authorLike Xu <likexu@tencent.com>
Tue, 25 Jan 2022 11:52:23 +0000 (19:52 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 26 Jan 2022 17:14:58 +0000 (12:14 -0500)
commitf7d6925c425a8c0eb818306c8f227512c6fb1201
tree2650f7f7266ccc207f34c916bdbb686342941544
parent56b8674bcad17105a058f7e492c3f7bfb1c5d0db
KVM: x86/cpuid: Exclude unpermitted xfeatures sizes at KVM_GET_SUPPORTED_CPUID

With the help of xstate_get_guest_group_perm(), KVM can exclude unpermitted
xfeatures in cpuid.0xd.0.eax, in which case the corresponding xfeatures
sizes should also be matched to the permitted xfeatures.

To fix this inconsistency, the permitted_xcr0 and permitted_xss are defined
consistently, which implies 'supported' plus certain permissions for this
task, and it also fixes cpuid.0xd.1.ebx and later leaf-by-leaf queries.

Fixes: 9b0d47b65760 ("kvm: x86: Exclude unpermitted xfeatures at KVM_GET_SUPPORTED_CPUID")
Signed-off-by: Like Xu <likexu@tencent.com>
Message-Id: <20220125115223.33707-1-likexu@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/cpuid.c