From: Jan Beulich Date: Fri, 5 Feb 2021 07:54:03 +0000 (+0100) Subject: x86/msr: fix handling of MSR_IA32_PERF_{STATUS/CTL} (again, part 2) X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1c7d984645f9ade9b47e862b5880734ad498fea8;p=xen.git x86/msr: fix handling of MSR_IA32_PERF_{STATUS/CTL} (again, part 2) X86_VENDOR_* aren't bit masks in the older trees. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c index 1afb80427c..c028fbdcf4 100644 --- a/xen/arch/x86/msr.c +++ b/xen/arch/x86/msr.c @@ -393,7 +393,8 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val) * a cpufreq controller dom0 which has full access. */ case MSR_IA32_PERF_CTL: - if ( !(cp->x86_vendor & (X86_VENDOR_INTEL | X86_VENDOR_CENTAUR)) ) + if ( cp->x86_vendor != X86_VENDOR_INTEL && + cp->x86_vendor != X86_VENDOR_CENTAUR ) goto gp_fault; if ( likely(!is_cpufreq_controller(d)) || wrmsr_safe(msr, val) == 0 )