On Thu, Feb 20, 2025 at 08:31:46AM -0800, Kan Liang wrote: > The EAX of the CPUID Leaf 023H enumerates the mask of valid sub-leaves. > To tell the availability of the sub-leaf 1 (enumerate the counter mask), > perf should check the bit 1 (0x2) of EAS, rather than bit 0 (0x1). > > The error is not user-visible on bare metal. Because the sub-leaf 0 and > the sub-leaf 1 are always available. However, it may bring issues in a > virtualization environment when a VMM only enumerates the sub-leaf 0. > > Introduce the cpuid35_e?x to replace the macros, which makes the > implementation style consistent. > > Fixes: eb467aaac21e ("perf/x86/intel: Support Architectural PerfMon Extension leaf") > Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx> > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Link: https://lkml.kernel.org/r/20250129154820.3755948-3-kan.liang@xxxxxxxxxxxxxxx > --- > arch/x86/events/intel/core.c | 17 ++++++++++------- > arch/x86/include/asm/perf_event.h | 26 +++++++++++++++++++++++++- > 2 files changed, 35 insertions(+), 8 deletions(-) <formletter> This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for how to do this properly. </formletter>