]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
perf maps: Ensure kmap is set up for all inserts
authorIan Rogers <irogers@google.com>
Sun, 14 Sep 2025 18:18:08 +0000 (11:18 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Sep 2025 09:16:41 +0000 (11:16 +0200)
commitd06a83038bd636a6002f83e6da6d3b75b550450b
treeaaa37c3b681059d44ac9f75130a0b7645d122f5e
parent314a92e5950fdc3f228cdc4bd15048aea177760d
perf maps: Ensure kmap is set up for all inserts

[ Upstream commit 20c9ccffccd61b37325a0519fb6d485caeecf7fa ]

__maps__fixup_overlap_and_insert may split or directly insert a map,
when doing this the map may need to have a kmap set up for the sake of
the kmaps. The missing kmap set up fails the check_invariants test in
maps, later "Internal error" reports from map__kmap and ultimately
causes segfaults.

Similar fixes were added in commit e0e4e0b8b7fa ("perf maps: Add
missing map__set_kmap_maps() when replacing a kernel map") and commit
25d9c0301d36 ("perf maps: Set the kmaps for newly created/added kernel
maps") but they missed cases. To try to reduce the risk of this,
update the kmap directly following any manual insert. This identified
another problem in maps__copy_from.

Fixes: e0e4e0b8b7fa ("perf maps: Add missing map__set_kmap_maps() when replacing a kernel map")
Fixes: 25d9c0301d36 ("perf maps: Set the kmaps for newly created/added kernel maps")
Signed-off-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/perf/util/maps.c