diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index d188b7588152dd737357c063ca754a1a9dfa8596..0715f972a275c56a7f6091da5eddd16c9da13275 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -709,6 +709,8 @@ static int map_groups__split_kallsyms_for_kcore(struct map_groups *kmaps, struct } pos->start -= curr_map->start - curr_map->pgoff; + if (pos->end > curr_map->end) + pos->end = curr_map->end; if (pos->end) pos->end -= curr_map->start - curr_map->pgoff; symbols__insert(&curr_map->dso->symbols, pos);