[PATCH 0/4] perf maps/symbols: Various assert fixes

From: James Clark
Date: Tue May 07 2024 - 10:16:34 EST


A few different asserts are hit when running perf report on minimal
Arm systems when kcore is used, or the .debug/ info can't be loaded or
/boot isn't mounted etc.

These result in some less common paths being hit for resolving symbols
and things are done in an order that breaks some assumptions. I'm not
sure if we could do something to make the tests pick this up, but maybe
not easily if it would involve mocking the filesystem or even a specific
kernel. I tried a few different variations of --kcore and --vmlinux
arguments but ultimately I could only reproduce these issues by running
on specific kernels and root filesystems.

James Clark (4):
perf symbols: Remove map from list before updating addresses
perf maps: Re-use __maps__free_maps_by_name()
perf symbols: Update kcore map before merging in remaining symbols
perf symbols: Fix ownership of string in dso__load_vmlinux()

tools/perf/util/maps.c | 14 ++++++------
tools/perf/util/symbol.c | 49 ++++++++++++++++++++++++----------------
2 files changed, 36 insertions(+), 27 deletions(-)

--
2.34.1