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

From: Xiaoke Wang
Date: Mon Dec 13 2021 - 03:17:06 EST


Note: Compare with the last email, this one is using my full name.
kstrdup() returns NULL when some internal memory errors happen, it is
better to checkk 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: Xiaoke Wang <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);

--