perf maps: Add missing map__set_kmap_maps() when replacing a kernel map
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 28 Feb 2025 21:17:33 +0000 (18:17 -0300)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 6 Mar 2025 07:03:43 +0000 (23:03 -0800)
Since in this case __maps__insert_sorted() is not called and thus
doesn't have the opportunity to do the needed map__set_kmap_maps() calls on
the new map.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Reviewed-by: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/lkml/Z7-May5w9VQd5QD0@x1
Link: https://lore.kernel.org/r/20250228211734.33781-6-acme@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/maps.c

index 77df9701d5ad7de3c01fb06135bdb1db04aeb9c6..0b40d901675ed57e6f300e54817efdcbef807316 100644 (file)
@@ -948,6 +948,8 @@ static int __maps__fixup_overlap_and_insert(struct maps *maps, struct map *new)
                                        maps_by_name[ni] = map__get(new);
                                }
 
+                               map__set_kmap_maps(new, maps);
+
                                check_invariants(maps);
                                return err;
                        }