public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 6.6.y] Revert "perf unwind-libdw: Fix invalid reference counts"
@ 2026-04-20 16:32 Kenta Akagi
  2026-04-22  3:57 ` Ian Rogers
  0 siblings, 1 reply; 2+ messages in thread
From: Kenta Akagi @ 2026-04-20 16:32 UTC (permalink / raw)
  To: gregkh, sashal
  Cc: stable, linux-perf-users, linux-kernel, Ian Rogers, Kenta Akagi

This reverts commit eddddf4ed7f69697cb54e714e773f764c8d3b67e.

Upstream commit f815fc0c66e7 ("perf unwind-libdw: Fix invalid reference counts"),
was backported to v6.6.128 as eddddf4ed7f6.

However, this commit depends on map_symbol__exit, which was introduced
in v6.7 as commit 56e144fe9826 ("perf mem_info: Add and use
map_symbol__exit and addr_map_symbol__exit") and is absent in v6.6.y.
This results in a build failure.

This is a revert of a backport, so there is no upstream commit.

Signed-off-by: Kenta Akagi <k@mgml.me>
---
 tools/perf/util/unwind-libdw.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/tools/perf/util/unwind-libdw.c b/tools/perf/util/unwind-libdw.c
index bd027fdf6af1..6013335a8dae 100644
--- a/tools/perf/util/unwind-libdw.c
+++ b/tools/perf/util/unwind-libdw.c
@@ -133,8 +133,8 @@ static int entry(u64 ip, struct unwind_info *ui)
 	}
 
 	e->ip	  = ip;
-	e->ms.maps = maps__get(al.maps);
-	e->ms.map = map__get(al.map);
+	e->ms.maps = al.maps;
+	e->ms.map = al.map;
 	e->ms.sym = al.sym;
 
 	pr_debug("unwind: %s:ip = 0x%" PRIx64 " (0x%" PRIx64 ")\n",
@@ -319,9 +319,6 @@ int unwind__get_entries(unwind_entry_cb_t cb, void *arg,
 	if (err)
 		pr_debug("unwind: failed with '%s'\n", dwfl_errmsg(-1));
 
-	for (i = 0; i < ui->idx; i++)
-		map_symbol__exit(&ui->entries[i].ms);
-
 	dwfl_end(ui->dwfl);
 	free(ui);
 	return 0;
-- 
2.50.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 6.6.y] Revert "perf unwind-libdw: Fix invalid reference counts"
  2026-04-20 16:32 [PATCH 6.6.y] Revert "perf unwind-libdw: Fix invalid reference counts" Kenta Akagi
@ 2026-04-22  3:57 ` Ian Rogers
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Rogers @ 2026-04-22  3:57 UTC (permalink / raw)
  To: Kenta Akagi
  Cc: Greg Kroah-Hartman, Sasha Levin, linux-stable, linux-perf-users,
	LKML

On Mon, Apr 20, 2026 at 9:34 AM Kenta Akagi <k@mgml.me> wrote:
>
> This reverts commit eddddf4ed7f69697cb54e714e773f764c8d3b67e.
>
> Upstream commit f815fc0c66e7 ("perf unwind-libdw: Fix invalid reference counts"),
> was backported to v6.6.128 as eddddf4ed7f6.
>
> However, this commit depends on map_symbol__exit, which was introduced
> in v6.7 as commit 56e144fe9826 ("perf mem_info: Add and use
> map_symbol__exit and addr_map_symbol__exit") and is absent in v6.6.y.
> This results in a build failure.
>
> This is a revert of a backport, so there is no upstream commit.

I confirm map_symbol__exit is missing in 6.6.y:
https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/tools/perf/util/map_symbol.h?h=linux-6.6.y
but present later:
https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/commit/tools/perf/util/map_symbol.h?h=perf-tools-next&id=56e144fe98260a0f8a17326993ceb576ef859ed5

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

Thanks,
Ian

> Signed-off-by: Kenta Akagi <k@mgml.me>
> ---
>  tools/perf/util/unwind-libdw.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/tools/perf/util/unwind-libdw.c b/tools/perf/util/unwind-libdw.c
> index bd027fdf6af1..6013335a8dae 100644
> --- a/tools/perf/util/unwind-libdw.c
> +++ b/tools/perf/util/unwind-libdw.c
> @@ -133,8 +133,8 @@ static int entry(u64 ip, struct unwind_info *ui)
>         }
>
>         e->ip     = ip;
> -       e->ms.maps = maps__get(al.maps);
> -       e->ms.map = map__get(al.map);
> +       e->ms.maps = al.maps;
> +       e->ms.map = al.map;
>         e->ms.sym = al.sym;
>
>         pr_debug("unwind: %s:ip = 0x%" PRIx64 " (0x%" PRIx64 ")\n",
> @@ -319,9 +319,6 @@ int unwind__get_entries(unwind_entry_cb_t cb, void *arg,
>         if (err)
>                 pr_debug("unwind: failed with '%s'\n", dwfl_errmsg(-1));
>
> -       for (i = 0; i < ui->idx; i++)
> -               map_symbol__exit(&ui->entries[i].ms);
> -
>         dwfl_end(ui->dwfl);
>         free(ui);
>         return 0;
> --
> 2.50.1
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-04-22  3:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-20 16:32 [PATCH 6.6.y] Revert "perf unwind-libdw: Fix invalid reference counts" Kenta Akagi
2026-04-22  3:57 ` Ian Rogers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox