2020-02-04 13:09:09

by chenqiwu

[permalink] [raw]
Subject: [PATCH 1/2] pstore/platform: fix potential mem leak if pstore_init_fs failed

From: chenqiwu <[email protected]>

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 <[email protected]>
---
fs/pstore/platform.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index d896457..114dbdf15 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -822,10 +822,10 @@ static int __init pstore_init(void)
allocate_buf_for_compression();

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

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

--
1.9.1


2020-02-04 13:10:53

by chenqiwu

[permalink] [raw]
Subject: [PATCH 2/2] pstore/ram: remove unnecessary ramoops_unregister_dummy()

From: chenqiwu <[email protected]>

Remove unnecessary ramoops_unregister_dummy() if ramoops
platform device register failed.

Signed-off-by: chenqiwu <[email protected]>
---
fs/pstore/ram.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 013486b..7956221 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -963,7 +963,6 @@ static void __init ramoops_register_dummy(void)
pr_info("could not create platform device: %ld\n",
PTR_ERR(dummy));
dummy = NULL;
- ramoops_unregister_dummy();
}
}

--
1.9.1