perf parse-event: Avoid BPF test SEGV
authorIan Rogers <irogers@google.com>
Fri, 28 Jul 2023 00:12:10 +0000 (17:12 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 3 Aug 2023 20:01:24 +0000 (17:01 -0300)
loc is passed as NULL in tools/perf/tests/bpf.c do_test, meaning
errors trigger a SEGV when trying to access. Add the missing NULL
check.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Eduard Zingerman <eddyz87@gmail.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Wang ShaoBo <bobo.shaobowang@huawei.com>
Cc: YueHaibing <yuehaibing@huawei.com>
Cc: bpf@vger.kernel.org
Link: https://lore.kernel.org/r/20230728001212.457900-2-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/parse-events.c

index acddb25..e17e96b 100644 (file)
@@ -757,7 +757,7 @@ int parse_events_load_bpf_obj(struct parse_events_state *parse_state,
 
        return 0;
 errout:
-       parse_events_error__handle(parse_state->error, param.loc->first_column,
+       parse_events_error__handle(parse_state->error, param.loc ? param.loc->first_column : 0,
                                strdup(errbuf), strdup("(add -v to see detail)"));
        return err;
 }