Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fdbdd7e8 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

perf evsel: Make perf_evsel__name() accept a NULL argument



In which case it simply returns "unknown", like when it can't figure out
the evsel->name value.

This makes this code more robust and fixes a problem in 'perf trace'
where a NULL evsel was being passed to a routine that only used the
evsel for printing its name when a invalid syscall id was passed.

Reported-by: default avatarLeo Yan <leo.yan@linaro.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/n/tip-f30ztaasku3z935cn3ak3h53@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 016f327c
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -589,6 +589,9 @@ const char *perf_evsel__name(struct perf_evsel *evsel)
{
	char bf[128];

	if (!evsel)
		goto out_unknown;

	if (evsel->name)
		return evsel->name;

@@ -628,7 +631,10 @@ const char *perf_evsel__name(struct perf_evsel *evsel)

	evsel->name = strdup(bf);

	return evsel->name ?: "unknown";
	if (evsel->name)
		return evsel->name;
out_unknown:
	return "unknown";
}

const char *perf_evsel__group_name(struct perf_evsel *evsel)