On 04/02/2021 15:53, Jan Beulich wrote: > On 04.02.2021 10:36, Jan Beulich wrote: >> X86_VENDOR_* aren't bit masks in the older trees. >> >> Reported-by: James Dingwall <[email protected]> >> Signed-off-by: Jan Beulich <[email protected]> >> >> --- a/xen/arch/x86/msr.c >> +++ b/xen/arch/x86/msr.c >> @@ -226,7 +226,8 @@ int guest_rdmsr(const struct vcpu *v, ui >> */ >> 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; > Darn - this was only half of it. There's a similar construct > in guest_wrmsr() which also wants replacing.
I really should have renamed the constants when I changed their layout... My R-by stands in light of that change. ~Andrew
