[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20220627120409.11174-1-xyangxi5@gmail.com>
Date: Mon, 27 Jun 2022 20:04:09 +0800
From: Yangxi Xiang <xyangxi5@...il.com>
To: linux-kernel@...r.kernel.org
Cc: gregkh@...uxfoundation.org,
"Rafael J. Wysocki" <rafael@...nel.org>,
Yangxi Xiang <xyangxi5@...il.com>
Subject: [PATCH] devtmpfs: fix the dangling pointer of global devtmpfsd thread
When the devtmpfs fails to mount, a dangling pointer still remains in
global. Specifically, the err variable is passed by a pointer to the
devtmpfsd. When the devtmpfsd exits, it sets the error and completes the
setup_done. In this situation, the thread pointer is not set to null.
After the devtmpfsd exited, the devtmpfs can wakes up the destroyed
devtmpfsd thread by wake_up_process if a device change event comes.
Signed-off-by: Yangxi Xiang <xyangxi5@...il.com>
---
drivers/base/devtmpfs.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c
index 8a3ddbae3b70..e4bffeabf344 100644
--- a/drivers/base/devtmpfs.c
+++ b/drivers/base/devtmpfs.c
@@ -482,6 +482,7 @@ int __init devtmpfs_init(void)
if (err) {
printk(KERN_ERR "devtmpfs: unable to create devtmpfs %i\n", err);
unregister_filesystem(&dev_fs_type);
+ thread = NULL;
return err;
}
--
2.17.1
Powered by blists - more mailing lists