perf metrics: Fix segv for metrics with no events

A metric may have no events, for example, the transaction metrics on
x86 are dependent on there being TSX events. Fix a segv where an evsel
of NULL is dereferenced for a metric leader value.

Fixes: a59fb796a3 ("perf metrics: Compute unmerged uncore metrics individually")
Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240224011420.3066322-2-irogers@google.com
This commit is contained in:
Ian Rogers 2024-02-23 17:14:20 -08:00 committed by Namhyung Kim
parent d4be39cade
commit 97b6b4ac1c

View file

@ -44,7 +44,7 @@ struct metric_event *metricgroup__lookup(struct rblist *metric_events,
if (!metric_events)
return NULL;
if (evsel->metric_leader)
if (evsel && evsel->metric_leader)
me.evsel = evsel->metric_leader;
nd = rblist__find(metric_events, &me);
if (nd)