[<prev] [next>] [day] [month] [year] [list]
Message-Id: <13860e023a920cd472cf5acecee88794c815b9c4.1743199603.git.mirq-linux@rere.qmqm.pl>
Date: Fri, 28 Mar 2025 23:07:48 +0100
From: Michał Mirosław <mirq-linux@...e.qmqm.pl>
To: Mauro Carvalho Chehab <mchehab@...nel.org>,
Sakari Ailus <sakari.ailus@...ux.intel.com>
Cc: linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] media: v4l: get_device() when no errors are possible anymore
Avoid leaking reference from get_device() in the error path.
Signed-off-by: Michał Mirosław <mirq-linux@...e.qmqm.pl>
---
drivers/media/v4l2-core/v4l2-device.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/media/v4l2-core/v4l2-device.c b/drivers/media/v4l2-core/v4l2-device.c
index 5e537454f5cd..277ea2c241b8 100644
--- a/drivers/media/v4l2-core/v4l2-device.c
+++ b/drivers/media/v4l2-core/v4l2-device.c
@@ -23,7 +23,6 @@ int v4l2_device_register(struct device *dev, struct v4l2_device *v4l2_dev)
spin_lock_init(&v4l2_dev->lock);
v4l2_prio_init(&v4l2_dev->prio);
kref_init(&v4l2_dev->ref);
- get_device(dev);
v4l2_dev->dev = dev;
if (dev == NULL) {
/* If dev == NULL, then name must be filled in by the caller */
@@ -32,6 +31,8 @@ int v4l2_device_register(struct device *dev, struct v4l2_device *v4l2_dev)
return 0;
}
+ get_device(dev);
+
/* Set name to driver name + device name if it is empty. */
if (!v4l2_dev->name[0])
snprintf(v4l2_dev->name, sizeof(v4l2_dev->name), "%s %s",
--
2.39.5
Powered by blists - more mailing lists