Re: [PATCH] perf: pmu: Fix IS_ERR() vs NULL check bug in perf_pmu__init

From: Namhyung Kim
Date: Fri Aug 15 2025 - 16:35:34 EST


Hello,

On Tue, Aug 05, 2025 at 10:32:07AM +0400, Miaoqian Lin wrote:
> Replace NULL check with IS_ERR() check after calling
> hashmap__new() since this function return error pointers (ERR_PTR).
> Using NULL check could lead to invalid pointer dereference.
>
> Fixes: 754baf426e09 ("perf pmu: Change aliases from list to hashmap")
> Signed-off-by: Miaoqian Lin <linmq006@xxxxxxxxx>

Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Thanks,
Namhyung

> ---
> tools/perf/util/pmu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> index 5a291f1380ed..da6f05872493 100644
> --- a/tools/perf/util/pmu.c
> +++ b/tools/perf/util/pmu.c
> @@ -1176,7 +1176,7 @@ int perf_pmu__init(struct perf_pmu *pmu, __u32 type, const char *name)
> return -ENOMEM;
>
> pmu->aliases = hashmap__new(aliases__hash, aliases__equal, /*ctx=*/ NULL);
> - if (!pmu->aliases)
> + if (IS_ERR(pmu->aliases))
> return -ENOMEM;
>
> return 0;
> --
> 2.25.1
>