[PATCH] pstore/platform: check the return value of kstrdup()

From: xkernel
Date: Sun Dec 12 2021 - 12:17:41 EST


kstrdup() returns NULL when some internal memory errors happen, it is
better to check the return value of it. Otherwise, some memory errors
will not be catched in time and may also further result in wrong memory
access.

Signed-off-by: xkernel <xkernel.wang@xxxxxxxxxxx>
---
fs/pstore/platform.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index b9614db..f7c8732 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -620,6 +620,11 @@ int pstore_register(struct pstore_info *psi)
* through /sys/module/pstore/parameters/backend
*/
backend = kstrdup(psi->name, GFP_KERNEL);
+ if (!backend) {
+ pr_err("out of memory duplicating '%s'\n", psi->name);
+ mutex_unlock(&psinfo_lock);
+ return -ENOMEM;
+ }

pr_info("Registered %s as persistent store backend\n", psi->name);

--