Skip to content

Commit 1fb0847

Browse files
cristiccrobertfoss
authored andcommitted
drm/bridge-connector: Fix double free in error handling paths
The recent switch to drmm allocation in drm_bridge_connector_init() may cause double free on bridge_connector in some of the error handling paths. Drop the explicit kfree() calls on bridge_connector. Fixes: c12907b ("drm/bridge-connector: switch to using drmm allocations") Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Signed-off-by: default avatarRobert Foss <rfoss@kernel.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240711-bridge-connector-fix-dbl-free-v1-1-d558b2d0eb93@collabora.com
1 parent ce4a995 commit 1fb0847

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

drivers/gpu/drm/drm_bridge_connector.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -443,10 +443,8 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm,
443443
panel_bridge = bridge;
444444
}
445445

446-
if (connector_type == DRM_MODE_CONNECTOR_Unknown) {
447-
kfree(bridge_connector);
446+
if (connector_type == DRM_MODE_CONNECTOR_Unknown)
448447
return ERR_PTR(-EINVAL);
449-
}
450448

451449
if (bridge_connector->bridge_hdmi)
452450
ret = drmm_connector_hdmi_init(drm, connector,
@@ -461,10 +459,8 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm,
461459
ret = drmm_connector_init(drm, connector,
462460
&drm_bridge_connector_funcs,
463461
connector_type, ddc);
464-
if (ret) {
465-
kfree(bridge_connector);
462+
if (ret)
466463
return ERR_PTR(ret);
467-
}
468464

469465
drm_connector_helper_add(connector, &drm_bridge_connector_helper_funcs);
470466

0 commit comments

Comments
 (0)