[PATCH] drm/mipi-dsi: fix possible memory leak in mipi_dsi_device_register_full()

Yang Yingliang yangyingliang at huawei.com
Tue Oct 18 08:25:45 UTC 2022


If mipi_dsi_device_add() fails, the refcount of device is not 0, the name
allocated in dev_set_name() is leaked. Fix this by calling put_device(),
so that it will be freed in callback function kobject_cleanup().

Fixes: 068a00233969 ("drm: Add MIPI DSI bus support")
Signed-off-by: Yang Yingliang <yangyingliang at huawei.com>
---
 drivers/gpu/drm/drm_mipi_dsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
index 3ec02748d56f..431952f6fd25 100644
--- a/drivers/gpu/drm/drm_mipi_dsi.c
+++ b/drivers/gpu/drm/drm_mipi_dsi.c
@@ -228,7 +228,7 @@ mipi_dsi_device_register_full(struct mipi_dsi_host *host,
 	ret = mipi_dsi_device_add(dsi);
 	if (ret) {
 		drm_err(host, "failed to add DSI device %d\n", ret);
-		kfree(dsi);
+		put_device(&dsi->dev);
 		return ERR_PTR(ret);
 	}
 
-- 
2.25.1



More information about the dri-devel mailing list