[Patch v3 0/8] perf/x86: Miscellaneous PMU bug fixes
From: Dapeng Mi
Date: Fri Jun 12 2026 - 05:10:40 EST
This series groups several independent PMU fixes to simplify review and
backporting.
Changes:
v2 -> v3:
- Patch 2/8: Directly update PERF_EVENT_FLAG_USER_READ_CNT according to
rdpmc user disable state (Peter).
- Patch 3/8: Only keep x86_lbr_type check for the detection of hardware
branch type decoding (Peter).
- Patch 4/8: Switch from_plm and to_plm variables order and refine
comments (Peter).
- Patch 5/8: Move intel_pmu_arch_lbr_init() after model-specfic PMU
initialization to avoid extra kmem cache destroy (Peter).
- Patch 6/8: Improve change log to add more details (Peter).
v1 -> v2:
- Fallback to software branch type decoding if hardware decoding is not
suppprted (Sashiko patch 4/9).
- Drop kernel IP for PERF_SAMPLE_IP if exclude_kernel attribute is
required (Sashiko, patch 8/9).
- Add kernel access check when kernel callchains are requested
(Sashiko, patch 9/9)
- Address Zide and Thomas's comments.
- Collect Reviewed-bys.
Patch layout:
- Patch 1/8: Fix anythread_deprecated being overwritten issue.
- Patch 2/8: Fix the issue that cap_user_rdpmc is not updated correctly.
- Patch 3/8: Fallback to software branch type decoding if no hardware
decoding.
- Patch 4/8: Fix the kernel address leakage issue in LBR stack.
- Patch 5/8: Fix the issue that the return value of
intel_pmu_init_hybrid() is not valiated correctly.
- Patch 6/8: Fix a "unchecked MSR access error" on PEBS_ENABLE MSR.
- Patch 7/8: Prevent a theoretical kernel register data leak in sampling.
- Patch 8/8: Add kernel access check when kernel callchains are
requested.
History:
v2: https://lore.kernel.org/all/20260609050222.2458129-1-dapeng1.mi@xxxxxxxxxxxxxxx/
v1: https://lore.kernel.org/all/20260605011136.2043393-1-dapeng1.mi@xxxxxxxxxxxxxxx/
Dapeng Mi (8):
perf/x86/intel: Remove anythread_deprecated bit from perf_capabilities
perf/x86/intel: Keep cap_user_rdpmc in sync with RDPMC user-disable
state
perf/x86/intel: Fallback to sw branch type decoding if no hw decoding
perf/x86/intel: Fix kernel address leakages in LBR stack
perf/x86/intel: Validate the return value of intel_pmu_init_hybrid()
perf/x86/intel: Drop fixed-counter PEBS constraints for baseline PEBS
perf/core: Fix kernel register info leak via hardware skid
perf/core: Check kernel access when kernel callchains are requested
arch/x86/events/core.c | 3 +-
arch/x86/events/intel/core.c | 60 +++++++++++++++++++++---------------
arch/x86/events/intel/ds.c | 13 --------
arch/x86/events/intel/lbr.c | 14 ++++++---
arch/x86/events/perf_event.h | 4 +--
kernel/events/core.c | 41 +++++++++++++++++++-----
6 files changed, 83 insertions(+), 52 deletions(-)
base-commit: 67d27727854def4a7e2b386429941f5c4741ccc4
--
2.34.1