]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
perf dso: Add missed dso__put to dso__load_kcore
authorIan Rogers <irogers@google.com>
Tue, 24 Jun 2025 19:03:21 +0000 (12:03 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 14:39:03 +0000 (16:39 +0200)
[ Upstream commit 63a088e999de3f431f87d9a367933da894ddb613 ]

The kcore loading creates a set of list nodes that have reference
counted references to maps of the kcore. The list node freeing in the
success path wasn't releasing the maps, add the missing puts. It is
unclear why this leak was being missed by leak sanitizer.

Fixes: 83720209961f ("perf map: Move map list node into symbol")
Signed-off-by: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20250624190326.2038704-2-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/perf/util/symbol.c

index 8b30c6f16a9eeac1f8dc5263a9ce01c90c193880..fd4583718eabf30a1be39a86b41a062f837e9ce9 100644 (file)
@@ -1422,6 +1422,7 @@ static int dso__load_kcore(struct dso *dso, struct map *map,
                                goto out_err;
                        }
                }
+               map__zput(new_node->map);
                free(new_node);
        }