]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86: Hide RDTSCP and RDPID if MSR_TSC_AUX probing failed
authorSean Christopherson <seanjc@google.com>
Tue, 4 May 2021 17:17:34 +0000 (10:17 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 7 May 2021 10:06:19 +0000 (06:06 -0400)
commit486be24e159415f115a715da5a564fb381009646
tree27a010c32a018ccf1d0c50d3f87a3e17243e7477
parentba65567ff645dc08ba88e50ef0230ef72411dd4f
KVM: x86: Hide RDTSCP and RDPID if MSR_TSC_AUX probing failed

If probing MSR_TSC_AUX failed, hide RDTSCP and RDPID, and WARN if either
feature was reported as supported.  In theory, such a scenario should
never happen as both Intel and AMD state that MSR_TSC_AUX is available if
RDTSCP or RDPID is supported.  But, KVM injects #GP on MSR_TSC_AUX
accesses if probing failed, faults on WRMSR(MSR_TSC_AUX) may be fatal to
the guest (because they happen during early CPU bringup), and KVM itself
has effectively misreported RDPID support in the past.

Note, this also has the happy side effect of omitting MSR_TSC_AUX from
the list of MSRs that are exposed to userspace if probing the MSR fails.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210504171734.1434054-16-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/cpuid.c