Re: [PATCH] perf: arm_cspmu: Reject events meant for other PMUs

From: Mark Rutland
Date: Fri Nov 03 2023 - 07:37:32 EST


On Thu, Nov 02, 2023 at 05:16:54PM -0700, Ilkka Koskinen wrote:
> Coresight PMU driver didn't reject events meant for other PMUs.
> This caused some of the Core PMU events disappearing from
> the output of "perf list". In addition, trying to run e.g.
>
> $ perf stat -e r2 sleep 1
>
> made Coresight PMU driver to handle the event instead of letting
> Core PMU driver to deal with it.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: e37dfd65731d ("perf: arm_cspmu: Add support for ARM CoreSight PMU driver")
> Signed-off-by: Ilkka Koskinen <ilkka@xxxxxxxxxxxxxxxxxxxxxx>

Acked-by: Mark Rutland <mark.rutland@xxxxxxx>

Will, are you happy to pick this up?

Mark.

> ---
> drivers/perf/arm_cspmu/arm_cspmu.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/perf/arm_cspmu/arm_cspmu.c b/drivers/perf/arm_cspmu/arm_cspmu.c
> index 42b72042f6b3..2cc35dded007 100644
> --- a/drivers/perf/arm_cspmu/arm_cspmu.c
> +++ b/drivers/perf/arm_cspmu/arm_cspmu.c
> @@ -676,6 +676,9 @@ static int arm_cspmu_event_init(struct perf_event *event)
>
> cspmu = to_arm_cspmu(event->pmu);
>
> + if (event->attr.type != event->pmu->type)
> + return -ENOENT;
> +
> /*
> * Following other "uncore" PMUs, we do not support sampling mode or
> * attach to a task (per-process mode).
> --
> 2.40.1
>