lkml.org 
[lkml]   [2019]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.1 104/219] perf evsel: Make perf_evsel__name() accept a NULL argument
    Date
    From: Arnaldo Carvalho de Melo <acme@redhat.com>

    [ Upstream commit fdbdd7e8580eac9bdafa532746c865644d125e34 ]

    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>
    ---
    tools/perf/util/evsel.c | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
    index 966360844fff..7ca79cfe1aea 100644
    --- a/tools/perf/util/evsel.c
    +++ b/tools/perf/util/evsel.c
    @@ -584,6 +584,9 @@ const char *perf_evsel__name(struct perf_evsel *evsel)
    {
    char bf[128];

    + if (!evsel)
    + goto out_unknown;
    +
    if (evsel->name)
    return evsel->name;

    @@ -620,7 +623,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)
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-07-15 17:15    [W:4.025 / U:1.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site