]> xenbits.xensource.com Git - xen.git/commitdiff
x86/msr: fix handling of MSR_IA32_PERF_{STATUS/CTL} (again)
authorJan Beulich <jbeulich@suse.com>
Thu, 4 Feb 2021 14:39:45 +0000 (15:39 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 4 Feb 2021 14:39:45 +0000 (15:39 +0100)
X86_VENDOR_* aren't bit masks in the older trees.

Reported-by: James Dingwall <james@dingwall.me.uk>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/msr.c

index 927ed625dfa5beced94a40627e5ba36be10b5198..aefe0cbb4b922fe35ae6b5003b9a8edcee992838 100644 (file)
@@ -226,7 +226,8 @@ int guest_rdmsr(const struct vcpu *v, uint32_t msr, uint64_t *val)
          */
     case MSR_IA32_PERF_STATUS:
     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;
 
         *val = 0;