linux/drivers/perf
Robin Murphy 85045e51c7 perf/arm-cmn: Fail DTC counter allocation correctly
commit 1892fe103c upstream.

Calling arm_cmn_event_clear() before all DTC indices are allocated is
wrong, and can lead to arm_cmn_event_add() erroneously clearing live
counters from full DTCs where allocation fails. Since the DTC counters
are only updated by arm_cmn_init_counter() after all DTC and DTM
allocations succeed, nothing actually needs cleaning up in this case
anyway, and it should just return directly as it did before.

Fixes: 7633ec2c26 ("perf/arm-cmn: Rework DTC counters (again)")
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/ed589c0d8e4130dc68b8ad1625226d28bdc185d4.1702322847.git.robin.murphy@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-10-17 15:21:28 +02:00
..
hisilicon drivers/perf: hisi_pcie: Record hardware counts correctly 2024-10-17 15:20:38 +02:00
alibaba_uncore_drw_pmu.c drivers/perf: Fix ali_drw_pmu driver interrupt status clearing 2024-10-17 15:20:38 +02:00
apple_m1_cpu_pmu.c drivers/perf: Add Apple icestorm/firestorm CPU PMU driver 2022-03-08 13:32:48 +00:00
arm-cci.c perf/arm-cci: Use the bitmap API to allocate bitmaps 2022-07-06 11:02:58 +01:00
arm-ccn.c drivers/perf:Directly use ida_alloc()/free() 2022-06-23 15:44:45 +01:00
arm-cmn.c perf/arm-cmn: Fail DTC counter allocation correctly 2024-10-17 15:21:28 +02:00
arm_dmc620_pmu.c perf/arm-dmc620: Fix lockdep assert in ->event_init() 2024-06-12 11:03:49 +02:00
arm_dsu_pmu.c perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init() 2022-12-31 13:31:51 +01:00
arm_pmu.c perf: arm64: Add SVE vector granule register to user regs 2022-09-22 15:06:02 +01:00
arm_pmu_acpi.c perf: check return value of armpmu_request_irq() 2022-05-06 15:04:48 +01:00
arm_pmu_platform.c perf/arm_pmu_platform: fix tests for platform_get_irq() failure 2022-09-01 12:01:40 +01:00
arm_smmuv3_pmu.c perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09 2023-09-23 11:11:00 +02:00
arm_spe_pmu.c Perf events updates for v6.1: 2022-10-10 09:27:46 -07:00
fsl_imx8_ddr_perf.c perf/imx_ddr: speed up overflow frequency of cycle 2023-09-23 11:11:00 +02:00
Kconfig drivers/perf: ALIBABA_UNCORE_DRW_PMU should depend on ACPI 2022-10-07 14:47:44 +01:00
Makefile drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC 2022-09-22 14:09:10 +01:00
marvell_cn10k_ddr_pmu.c perf/marvell: Fix !CONFIG_OF build for CN10K DDR PMU driver 2022-03-09 12:31:00 +00:00
marvell_cn10k_tad_pmu.c drivers: perf: marvell_cn10k: Fix hotplug callback leak in tad_pmu_init() 2022-12-31 13:31:51 +01:00
qcom_l2_pmu.c perf: qcom_l2_pmu: Refactor _UID handling to use acpi_dev_uid_to_integer() 2022-09-19 18:34:42 +02:00
qcom_l3_pmu.c ACPI: Drop parent field from struct acpi_device 2022-08-24 20:55:24 +02:00
riscv_pmu.c drivers/perf: riscv: Disable PERF_SAMPLE_BRANCH_* while not supported 2024-04-10 16:28:30 +02:00
riscv_pmu_legacy.c RISC-V Patches for the 6.1 Merge Window, Part 1 2022-10-09 13:24:01 -07:00
riscv_pmu_sbi.c drivers/perf: riscv: Reset the counter to hpmevent mapping while starting cpus 2024-07-25 09:49:18 +02:00
thunderx2_pmu.c perf: Replace acpi_bus_get_device() 2022-02-08 15:14:53 +00:00
xgene_pmu.c perf: replace bitmap_weight with bitmap_empty where appropriate 2022-02-15 14:38:57 +00:00