summary refs log tree commit diff
path: root/arch/s390/lib
diff options
context:
space:
mode:
authorWang Hai <wanghai38@huawei.com>2020-07-30 14:36:02 +0800
committerHeiko Carstens <hca@linux.ibm.com>2020-08-11 18:16:16 +0200
commit75d3e7f4769d276a056efa1cc7f08de571fc9b4b (patch)
treef2bdda1253987318ddd609bb7c6045998989effc /arch/s390/lib
parentba925fa35057a062ac98c3e8138b013ce4ce351c (diff)
downloadlinux-75d3e7f4769d276a056efa1cc7f08de571fc9b4b.tar.gz
s390/test_unwind: fix possible memleak in test_unwind()
test_unwind() misses to call kfree(bt) in an error path.
Add the missed function call to fix it.

Fixes: 0610154650f1 ("s390/test_unwind: print verbose unwinding results")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Acked-by: Ilya Leoshkevich <iii@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.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/lib/test_unwind.c b/arch/s390/lib/test_unwind.c
index eb382ceaa116..7c988994931f 100644
--- a/arch/s390/lib/test_unwind.c
+++ b/arch/s390/lib/test_unwind.c
@@ -64,6 +64,7 @@ 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;
 		}
 		sprint_symbol(sym, addr);