| From a39d0a6a75bf37300361da6d3f26467172f09e0b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 30 Sep 2019 15:53:33 -0300 |
| Subject: perf annotate: Return appropriate error code for allocation failures |
| |
| From: Arnaldo Carvalho de Melo <acme@redhat.com> |
| |
| [ Upstream commit 16ed3c1e91159e28b02f11f71ff4ce4cbc6f99e4 ] |
| |
| 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@armlinux.org.uk> |
| Cc: Adrian Hunter <adrian.hunter@intel.com> |
| Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| Cc: Jiri Olsa <jolsa@kernel.org> |
| Cc: Namhyung Kim <namhyung@kernel.org> |
| Cc: Peter Zijlstra <peterz@infradead.org>, |
| Cc: Will Deacon <will@kernel.org> |
| Link: https://lkml.kernel.org/n/tip-8of1cmj3rz0mppfcshc9bbqq@git.kernel.org |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 b475449f955ef..ab7851ec0ce53 100644 |
| --- a/tools/perf/util/annotate.c |
| +++ b/tools/perf/util/annotate.c |
| @@ -1662,7 +1662,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 |
| @@ -2971,7 +2971,7 @@ int symbol__annotate2(struct symbol *sym, struct map *map, struct perf_evsel *ev |
| |
| 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->nr_members; |
| -- |
| 2.20.1 |
| |