[tip: perf/urgent] perf annotate: Return appropriate error code for allocation failures

From: tip-bot2 for Arnaldo Carvalho de Melo
Date: Mon Oct 07 2019 - 10:49:37 EST


The following commit has been merged into the perf/urgent branch of tip:

Commit-ID: 16ed3c1e91159e28b02f11f71ff4ce4cbc6f99e4
Gitweb: https://git.kernel.org/tip/16ed3c1e91159e28b02f11f71ff4ce4cbc6f99e4
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
AuthorDate: Mon, 30 Sep 2019 15:53:33 -03:00
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitterDate: Mon, 30 Sep 2019 17:30:04 -03:00

perf annotate: Return appropriate error code for allocation failures

We should return errno or the annotation extra range understood by
symbol__strerror_disassemble() instead of -1, fix it, returning ENOMEM
instead.

Reported-by: Russell King - ARM Linux admin <linux@xxxxxxxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Cc: Will Deacon <will@xxxxxxxxxx>
Link: https://lkml.kernel.org/n/tip-8of1cmj3rz0mppfcshc9bbqq@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/util/annotate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index dc15352..b49ecdd 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1668,7 +1668,7 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil

build_id_path = strdup(filename);
if (!build_id_path)
- return -1;
+ return ENOMEM;

/*
* old style build-id cache has name of XX/XXXXXXX.. while
@@ -2977,7 +2977,7 @@ int symbol__annotate2(struct symbol *sym, struct map *map, struct evsel *evsel,

notes->offsets = zalloc(size * sizeof(struct annotation_line *));
if (notes->offsets == NULL)
- return -1;
+ return ENOMEM;

if (perf_evsel__is_group_event(evsel))
nr_pcnt = evsel->core.nr_members;