mirror-linux/drivers/perf
Robin Murphy 36c0de0257 perf/arm-cmn: Reject unsupported hardware configurations
So far we've been fairly lax about accepting both unknown CMN models
(at least with a warning), and unknown revisions of those which we
do know, as although things do frequently change between releases,
typically enough remains the same to be somewhat useful for at least
some basic bringup checks. However, we also make assumptions of the
maximum supported sizes and numbers of things in various places, and
there's no guarantee that something new might not be bigger and lead
to nasty array overflows. Make sure we only try to run on things that
actually match our assumptions and so will not risk memory corruption.

We have at least always failed on completely unknown node types, so
update that error message for clarity and consistency too.

Cc: stable@vger.kernel.org
Fixes: 7819e05a0d ("perf/arm-cmn: Revamp model detection")
Reviewed-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
2026-02-03 19:43:52 +00:00
..
amlogic perf/amlogic: Replace smp_processor_id() with raw_smp_processor_id() in meson_ddr_pmu_create() 2025-05-09 12:16:31 +01:00
arm_cspmu perf: arm_cspmu: fix error handling in arm_cspmu_impl_unregister() 2025-11-03 14:20:03 +00:00
hisilicon drivers/perf: hisi: Add tt_core_deprecated for compatibility 2025-09-25 13:51:59 +01:00
Kconfig perf: Fujitsu: Add the Uncore PMU driver 2025-09-22 13:05:11 +01:00
Makefile perf: Fujitsu: Add the Uncore PMU driver 2025-09-22 13:05:11 +01:00
alibaba_uncore_drw_pmu.c perf: Switch back to struct platform_driver::remove() 2024-11-06 14:16:20 +00:00
apple_m1_cpu_pmu.c perf/apple_m1: Remove driver-specific throttle support 2025-05-21 13:57:44 +02:00
arm-cci.c perf: Switch back to struct platform_driver::remove() 2024-11-06 14:16:20 +00:00
arm-ccn.c drivers: perf: use us_to_ktime() where appropriate 2025-09-18 13:48:20 +01:00
arm-cmn.c perf/arm-cmn: Reject unsupported hardware configurations 2026-02-03 19:43:52 +00:00
arm-ni.c perf/arm-ni: Fix and optimise register offset calculation 2025-11-07 13:42:46 +00:00
arm_brbe.c perf: arm_pmuv3: Add support for the Branch Record Buffer Extension (BRBE) 2025-07-08 17:58:49 +01:00
arm_brbe.h perf: arm_pmuv3: Add support for the Branch Record Buffer Extension (BRBE) 2025-07-08 17:58:49 +01:00
arm_dmc620_pmu.c perf: Switch back to struct platform_driver::remove() 2024-11-06 14:16:20 +00:00
arm_dsu_pmu.c perf/arm_dsu: Allow standard cycles events 2026-01-06 21:27:40 +00:00
arm_pmu.c arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
arm_pmu_acpi.c perf: arm_pmu: Request specific affinities for per CPU NMIs/interrupts 2025-10-27 17:16:35 +01:00
arm_pmu_platform.c perf: arm_pmu: Request specific affinities for per CPU NMIs/interrupts 2025-10-27 17:16:35 +01:00
arm_pmuv3.c arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
arm_smmuv3_pmu.c perf/arm-smmuv3: Fix lockdep assert in ->event_init() 2024-11-25 18:52:46 +00:00
arm_spe_pmu.c perf: arm_spe: Properly set hw.state on failures 2026-02-03 19:41:50 +00:00
arm_v6_pmu.c perf/arm: Remove driver-specific throttle support 2025-05-21 13:57:44 +02:00
arm_v7_pmu.c perf/arm: Remove driver-specific throttle support 2025-05-21 13:57:44 +02:00
arm_xscale_pmu.c perf/arm: Remove driver-specific throttle support 2025-05-21 13:57:44 +02:00
cxl_pmu.c perf/cxlpmu: Replace IRQF_ONESHOT with IRQF_NO_THREAD 2026-01-28 13:06:03 +00:00
dwc_pcie_pmu.c perf/dwc_pcie: Fix use of uninitialized variable 2025-09-24 12:13:19 +01:00
fsl_imx8_ddr_perf.c perf/imx_ddr: Add support for PMU in DB (system interconnects) 2025-11-24 15:39:05 +00:00
fsl_imx9_ddr_perf.c perf: imx_perf: add support for i.MX94 platform 2025-09-18 13:45:04 +01:00
fujitsu_uncore_pmu.c perf: Fujitsu: Add the Uncore PMU driver 2025-09-22 13:05:11 +01:00
marvell_cn10k_ddr_pmu.c drivers: perf: Switch to use hrtimer_setup() 2025-02-18 11:19:04 +01:00
marvell_cn10k_tad_pmu.c perf/marvell: Odyssey LLC-TAD performance monitor support 2024-12-09 15:57:49 +00:00
marvell_pem_pmu.c perf/marvell: Marvell PEM performance monitor support 2024-10-28 17:35:35 +00:00
qcom_l2_pmu.c perf: Switch back to struct platform_driver::remove() 2024-11-06 14:16:20 +00:00
qcom_l3_pmu.c
riscv_pmu.c
riscv_pmu_legacy.c drivers/perf: riscv: Align errno for unsupported perf event 2024-10-01 02:47:39 -07:00
riscv_pmu_sbi.c drivers: perf: use bitmap_empty() where appropriate 2026-01-05 20:39:40 +00:00
starfive_starlink_pmu.c drivers: perf: use bitmap_empty() where appropriate 2026-01-05 20:39:40 +00:00
thunderx2_pmu.c drivers: perf: Switch to use hrtimer_setup() 2025-02-18 11:19:04 +01:00
xgene_pmu.c perf: Switch back to struct platform_driver::remove() 2024-11-06 14:16:20 +00:00