Re: [PATCH] perf test: Fix a leaked map reference in the arch dwarf unwind tests
From: Ian Rogers
Date: Tue Sep 15 2026 - 15:35:53 EST
On Mon, Sep 14, 2026 at 5:19 AM Chen Pei <cp0613@xxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxx>
Reviewed-by: Ian Rogers <irogers@xxxxxxxxxx>
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
>