diff options
author | Ian Rogers | 2024-02-23 17:14:20 -0800 |
---|---|---|
committer | Namhyung Kim | 2024-02-29 13:40:13 -0800 |
commit | 97b6b4ac1c5dd42a473a4f8e775d97476c5da038 (patch) | |
tree | fecfe26bbfbf23802a216c30738863eff9d626b0 /tools/perf | |
parent | d4be39cadef0dbba6667a96e8e7857d510ed4e20 (diff) |
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: a59fb796a36b ("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
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/util/metricgroup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c index 2d6865c392ef..79ef6095ab28 100644 --- a/tools/perf/util/metricgroup.c +++ b/tools/perf/util/metricgroup.c @@ -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) |