summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasily Gorbik <gor@linux.ibm.com>2021-04-09 00:21:14 +0200
committerHeiko Carstens <hca@linux.ibm.com>2021-04-12 12:46:44 +0200
commitf169f42130653bd4da24ed0d1b2cc91af5977928 (patch)
tree9f145b20321d96efba7ebe6ea686580be764aaa0
parent4dd4269ea51eeb68a073b900df6b5f5b78159633 (diff)
downloadlinux-f169f42130653bd4da24ed0d1b2cc91af5977928.tar.bz2
s390/test_unwind: unify error handling paths
Handle the case of "unwind state reliable but addr is 0" like other error cases in this function and trigger output of failing stacktrace to aid debugging. Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-rw-r--r--arch/s390/lib/test_unwind.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/s390/lib/test_unwind.c b/arch/s390/lib/test_unwind.c
index dcd8946255be..54b36e71ddf3 100644
--- a/arch/s390/lib/test_unwind.c
+++ b/arch/s390/lib/test_unwind.c
@@ -64,8 +64,8 @@ static noinline int test_unwind(struct task_struct *task, struct pt_regs *regs,
break;
if (state.reliable && !addr) {
pr_err("unwind state reliable but addr is 0\n");
- kfree(bt);
- return -EINVAL;
+ ret = -EINVAL;
+ break;
}
sprint_symbol(sym, addr);
if (bt_pos < BT_BUF_SIZE) {