[PATCH] perf test: Fix a leaked map reference in the arch dwarf unwind tests

Ian Rogers irogers at google.com
Tue Sep 15 12:35:23 PDT 2026


On Mon, Sep 14, 2026 at 5:19 AM Chen Pei <cp0613 at linux.alibaba.com> wrote:
>
> maps__find() has returned a reference to the map it finds since
> commit 42fd623b58db ("perf maps: Get map before returning in
> maps__find"), which updated arch/x86/tests/dwarf-unwind.c but missed
> the arm, arm64 and powerpc copies. Release the map after reading its
> end, as x86 does. All other callers of maps__find() already release
> what they get.
>
> Fixes: 42fd623b58db ("perf maps: Get map before returning in maps__find")
> Signed-off-by: Chen Pei <cp0613 at linux.alibaba.com>

Reviewed-by: Ian Rogers <irogers at google.com>

Thanks,
Ian

> ---
>  tools/perf/arch/arm/tests/dwarf-unwind.c     | 1 +
>  tools/perf/arch/arm64/tests/dwarf-unwind.c   | 1 +
>  tools/perf/arch/powerpc/tests/dwarf-unwind.c | 1 +
>  3 files changed, 3 insertions(+)
>
> diff --git a/tools/perf/arch/arm/tests/dwarf-unwind.c b/tools/perf/arch/arm/tests/dwarf-unwind.c
> index f421910e0709..d4707e9ffd2a 100644
> --- a/tools/perf/arch/arm/tests/dwarf-unwind.c
> +++ b/tools/perf/arch/arm/tests/dwarf-unwind.c
> @@ -34,6 +34,7 @@ static int sample_ustack(struct perf_sample *sample,
>         }
>
>         stack_size = map__end(map) - sp;
> +       map__put(map);
>         stack_size = stack_size > STACK_SIZE ? STACK_SIZE : stack_size;
>
>         memcpy(buf, (void *) sp, stack_size);
> diff --git a/tools/perf/arch/arm64/tests/dwarf-unwind.c b/tools/perf/arch/arm64/tests/dwarf-unwind.c
> index 440d00f0de14..fbc161a49369 100644
> --- a/tools/perf/arch/arm64/tests/dwarf-unwind.c
> +++ b/tools/perf/arch/arm64/tests/dwarf-unwind.c
> @@ -34,6 +34,7 @@ static int sample_ustack(struct perf_sample *sample,
>         }
>
>         stack_size = map__end(map) - sp;
> +       map__put(map);
>         stack_size = stack_size > STACK_SIZE ? STACK_SIZE : stack_size;
>
>         memcpy(buf, (void *) sp, stack_size);
> diff --git a/tools/perf/arch/powerpc/tests/dwarf-unwind.c b/tools/perf/arch/powerpc/tests/dwarf-unwind.c
> index 66af884baa66..b4bade5d59e2 100644
> --- a/tools/perf/arch/powerpc/tests/dwarf-unwind.c
> +++ b/tools/perf/arch/powerpc/tests/dwarf-unwind.c
> @@ -34,6 +34,7 @@ static int sample_ustack(struct perf_sample *sample,
>         }
>
>         stack_size = map__end(map) - sp;
> +       map__put(map);
>         stack_size = stack_size > STACK_SIZE ? STACK_SIZE : stack_size;
>
>         memcpy(buf, (void *) sp, stack_size);
> --
> 2.50.1
>



More information about the linux-arm-kernel mailing list