mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-15 23:25:07 +00:00
perf evsel: Make perf_evsel__name() accept a NULL argument
[ Upstream commit fdbdd7e858
]
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: Leo 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: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
11a6dd0034
commit
b5b7d3a8d3
1 changed files with 7 additions and 1 deletions
|
@ -587,6 +587,9 @@ const char *perf_evsel__name(struct perf_evsel *evsel)
|
||||||
{
|
{
|
||||||
char bf[128];
|
char bf[128];
|
||||||
|
|
||||||
|
if (!evsel)
|
||||||
|
goto out_unknown;
|
||||||
|
|
||||||
if (evsel->name)
|
if (evsel->name)
|
||||||
return evsel->name;
|
return evsel->name;
|
||||||
|
|
||||||
|
@ -623,7 +626,10 @@ const char *perf_evsel__name(struct perf_evsel *evsel)
|
||||||
|
|
||||||
evsel->name = strdup(bf);
|
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)
|
const char *perf_evsel__group_name(struct perf_evsel *evsel)
|
||||||
|
|
Loading…
Reference in a new issue