Re: [PATCH v1] perf pmu: Avoid segv for missing name/alias_name in wildcarding

From: Namhyung Kim
Date: Fri Apr 04 2025 - 14:08:00 EST


On Wed, Apr 02, 2025 at 02:13:01PM -0700, Ian Rogers wrote:
> The pmu name or alias_name fields may be NULL and should be skipped if
> so. This is done in all loops of perf_pmu___name_match except the
> final wildcard loop which was an oversight.
>
> Fixes: c786468a3585 ("perf pmu: Rename name matching for no suffix or wildcard variants")
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>

Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Thanks,
Namhyung

> ---
> tools/perf/util/pmu.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> index 31f1e617eb20..d27bdf421c19 100644
> --- a/tools/perf/util/pmu.c
> +++ b/tools/perf/util/pmu.c
> @@ -2060,7 +2060,9 @@ static bool perf_pmu___name_match(const struct perf_pmu *pmu, const char *to_mat
> }
> for (size_t i = 0; i < ARRAY_SIZE(names); i++) {
> const char *name = names[i];
> -
> +
> + if (!name)
> + continue;
> if (wildcard && perf_pmu__match_wildcard_uncore(name, to_match))
> return true;
> if (!wildcard && perf_pmu__match_ignoring_suffix_uncore(name, to_match))
> --
> 2.49.0.504.g3bcea36a83-goog
>