summaryrefslogtreecommitdiffstats
path: root/arch/s390/lib
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 /arch/s390/lib
parent4dd4269ea51eeb68a073b900df6b5f5b78159633 (diff)
downloadlinux-stable-f169f42130653bd4da24ed0d1b2cc91af5977928.tar.gz
linux-stable-f169f42130653bd4da24ed0d1b2cc91af5977928.tar.bz2
linux-stable-f169f42130653bd4da24ed0d1b2cc91af5977928.zip
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>
Diffstat (limited to 'arch/s390/lib')
-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) {