[PATCH AUTOSEL 4.19 16/32] pstore/platform: fix potential mem leak if pstore_init_fs failed

From: Sasha Levin
Date: Thu Apr 09 2020 - 23:54:31 EST


From: chenqiwu <chenqiwu@xxxxxxxxxx>

[ Upstream commit 8a57d6d4ddfa41c49014e20493152c41a38fcbf8 ]

There is a potential mem leak when pstore_init_fs failed,
since the pstore compression maybe unlikey to initialized
successfully. We must clean up the allocation once this
unlikey issue happens.

Signed-off-by: chenqiwu <chenqiwu@xxxxxxxxxx>
Link: https://lore.kernel.org/r/1581068800-13817-1-git-send-email-qiwuchen55@xxxxxxxxx
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
fs/pstore/platform.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index 4bae3f4fe829d..dcd9c3163587c 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -802,9 +802,9 @@ static int __init pstore_init(void)

ret = pstore_init_fs();
if (ret)
- return ret;
+ free_buf_for_compression();

- return 0;
+ return ret;
}
late_initcall(pstore_init);

--
2.20.1