All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] perf report: Use map_symbol__copy() when copying callchians
@ 2025-03-07  6:12 Namhyung Kim
  2025-03-07  6:12 ` [PATCH v2 2/2] perf report: Fix memory leaks in the hierarchy mode Namhyung Kim
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Namhyung Kim @ 2025-03-07  6:12 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Ian Rogers, Kan Liang
  Cc: Jiri Olsa, Adrian Hunter, Peter Zijlstra, Ingo Molnar, LKML,
	linux-perf-users

It seems there are places to miss updating refcount of maps.
Let's use map_symbol__copy() helper to properly copy them with
refcounts updated.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/util/callchain.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
index 0c7564747a14e539..d7b7eef740b9d6ed 100644
--- a/tools/perf/util/callchain.c
+++ b/tools/perf/util/callchain.c
@@ -589,9 +589,7 @@ fill_node(struct callchain_node *node, struct callchain_cursor *cursor)
 			return -ENOMEM;
 		}
 		call->ip = cursor_node->ip;
-		call->ms = cursor_node->ms;
-		call->ms.map = map__get(call->ms.map);
-		call->ms.maps = maps__get(call->ms.maps);
+		map_symbol__copy(&call->ms, &cursor_node->ms);
 		call->srcline = cursor_node->srcline;
 
 		if (cursor_node->branch) {
@@ -1094,9 +1092,7 @@ int callchain_cursor_append(struct callchain_cursor *cursor,
 
 	node->ip = ip;
 	map_symbol__exit(&node->ms);
-	node->ms = *ms;
-	node->ms.maps = maps__get(ms->maps);
-	node->ms.map = map__get(ms->map);
+	map_symbol__copy(&node->ms, ms);
 	node->branch = branch;
 	node->nr_loop_iter = nr_loop_iter;
 	node->iter_cycles = iter_cycles;
@@ -1564,7 +1560,7 @@ int callchain_node__make_parent_list(struct callchain_node *node)
 				goto out;
 			*new = *chain;
 			new->has_children = false;
-			new->ms.map = map__get(new->ms.map);
+			map_symbol__copy(&new->ms, &chain->ms);
 			list_add_tail(&new->list, &head);
 		}
 		parent = parent->parent;
-- 
2.49.0.rc0.332.g42c0ae87b1-goog


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

end of thread, other threads:[~2025-03-08 18:24 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-07  6:12 [PATCH v2 1/2] perf report: Use map_symbol__copy() when copying callchians Namhyung Kim
2025-03-07  6:12 ` [PATCH v2 2/2] perf report: Fix memory leaks in the hierarchy mode Namhyung Kim
2025-03-07 16:28   ` Falcon, Thomas
2025-03-07 17:33     ` Ian Rogers
2025-03-07 18:55 ` [PATCH v2 1/2] perf report: Use map_symbol__copy() when copying callchians Markus Elfring
2025-03-07 22:08   ` Namhyung Kim
2025-03-08  7:56     ` [v2 1/2] perf report: Use map_symbol__copy() when copying call chains Markus Elfring
2025-03-08 18:20       ` Namhyung Kim
2025-03-08 18:24 ` [PATCH v2 1/2] perf report: Use map_symbol__copy() when copying callchians Namhyung Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.