]> 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:41:12 +0000 (15:41 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 4 Feb 2021 14:41:12 +0000 (15:41 +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 99c848ff4109a78df4730175736a81adfc5c834b..1afb80427c2172c59cbfadeec08287d51802b39f 100644 (file)
@@ -232,7 +232,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;