summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitaly Kuznetsov <vkuznets@redhat.com>2021-05-21 11:51:48 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2021-06-17 13:09:41 -0400
commit9442f3bd9012f37ba2b4ec3ab2d7c248b137391c (patch)
tree0f76c3b839c4ae6da1b98f5e6bc65115569ce41f
parent978b57475c7795824676122acb75a1dea264b6d1 (diff)
downloadlinux-stable-9442f3bd9012f37ba2b4ec3ab2d7c248b137391c.tar.gz
linux-stable-9442f3bd9012f37ba2b4ec3ab2d7c248b137391c.tar.bz2
linux-stable-9442f3bd9012f37ba2b4ec3ab2d7c248b137391c.zip
KVM: x86: hyper-v: Honor HV_ACCESS_FREQUENCY_MSRS privilege bit
HV_X64_MSR_TSC_FREQUENCY/HV_X64_MSR_APIC_FREQUENCY are only available to guest when HV_ACCESS_FREQUENCY_MSRS bit is exposed. Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20210521095204.2161214-15-vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--arch/x86/kvm/hyperv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
index a168b72334cc..2a0660b4e779 100644
--- a/arch/x86/kvm/hyperv.c
+++ b/arch/x86/kvm/hyperv.c
@@ -1253,6 +1253,10 @@ static bool hv_check_msr_access(struct kvm_vcpu_hv *hv_vcpu, u32 msr)
return hv_vcpu->cpuid_cache.features_eax &
HV_MSR_APIC_ACCESS_AVAILABLE;
break;
+ case HV_X64_MSR_TSC_FREQUENCY:
+ case HV_X64_MSR_APIC_FREQUENCY:
+ return hv_vcpu->cpuid_cache.features_eax &
+ HV_ACCESS_FREQUENCY_MSRS;
default:
break;
}