[PATCH] bus: moxtet: fix reference count leak in moxtet_add_device()

Salah Triki posted 1 patch 1 week ago
drivers/bus/moxtet.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
[PATCH] bus: moxtet: fix reference count leak in moxtet_add_device()
Posted by Salah Triki 1 week ago
If `device_add()` fails, the reference count of the device is not
dropped. This leads to a memory leak of the device and its associated
resources.

`put_device()` must be called if `device_add()` fails to properly clean up
the device structure.

Fixes: 5bc7f990cd98f ("bus: Add support for Moxtet bus")

Signed-off-by: Salah Triki <salah.triki@gmail.com>
---
 drivers/bus/moxtet.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/moxtet.c b/drivers/bus/moxtet.c
index 7ce61d629a87..35795deba2a9 100644
--- a/drivers/bus/moxtet.c
+++ b/drivers/bus/moxtet.c
@@ -179,9 +179,11 @@ static int moxtet_add_device(struct moxtet_device *dev)
 		goto done;
 
 	ret = device_add(&dev->dev);
-	if (ret < 0)
+	if (ret < 0) {
 		dev_err(dev->moxtet->dev, "can't add %s, status %d\n",
 			dev_name(dev->moxtet->dev), ret);
+		put_device(&dev->dev);
+	}
 
 done:
 	mutex_unlock(&add_mutex);
-- 
2.43.0
Re: [PATCH] bus: moxtet: fix reference count leak in moxtet_add_device()
Posted by Marek Behún 5 days, 3 hours ago
Acked-by: Marek Behún <kabel@kernel.org>