aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
authorAthira Rajeev <atrajeev@linux.ibm.com>2025-03-04 21:11:14 +0530
committerNamhyung Kim <namhyung@kernel.org>2025-03-06 16:52:24 -0800
commit4c3f09e35ca999f69b623d94bf185fe090878296 (patch)
tree1f63edf60079d25a22d1250426686cfab982b67d /tools/perf
parentdab8c32ece27c7d8cf01e9b68041edaf5ddd8adf (diff)
downloadath-4c3f09e35ca999f69b623d94bf185fe090878296.tar.gz
perf annotate: Return errors from disasm_line__parse_powerpc()
In disasm_line__parse_powerpc() , return code from function disasm_line__parse() is ignored. This will result in bad results if the disasm_line__parse() fails to disasm the line. Use the return code to fix this. Signed-off-by: Athira Rajeev <atrajeev@linux.ibm.com> Tested-By: Venkat Rao Bagalkote <venkat88@linux.ibm.com> Link: https://lore.kernel.org/r/20250304154114.62093-2-atrajeev@linux.ibm.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/util/disasm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c
index a53e8c4e5bca0..8f0eb56c6fc66 100644
--- a/tools/perf/util/disasm.c
+++ b/tools/perf/util/disasm.c
@@ -976,6 +976,7 @@ static int disasm_line__parse_powerpc(struct disasm_line *dl, struct annotate_ar
char *tmp_raw_insn, *name_raw_insn = skip_spaces(line);
char *name = skip_spaces(name_raw_insn + RAW_BYTES);
int disasm = 0;
+ int ret = 0;
if (args->options->disassembler_used)
disasm = 1;
@@ -984,7 +985,7 @@ static int disasm_line__parse_powerpc(struct disasm_line *dl, struct annotate_ar
return -1;
if (disasm)
- disasm_line__parse(name, namep, rawp);
+ ret = disasm_line__parse(name, namep, rawp);
else
*namep = "";
@@ -998,7 +999,7 @@ static int disasm_line__parse_powerpc(struct disasm_line *dl, struct annotate_ar
if (disasm)
dl->raw.raw_insn = be32_to_cpu(dl->raw.raw_insn);
- return 0;
+ return ret;
}
static void annotation_line__init(struct annotation_line *al,