summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHangyu Hua <hbh25y@gmail.com>2022-06-24 06:04:06 -0700
committerRodrigo Vivi <rodrigo.vivi@intel.com>2022-07-06 23:04:43 -0400
commit85144df9ff4652816448369de76897c57cbb1b93 (patch)
treeec971d772909af8ebbab349b15ad24f35b72236d /drivers
parent79538490fd7ade244dba400923e792519a2bdfea (diff)
downloadlinux-stable-85144df9ff4652816448369de76897c57cbb1b93.tar.gz
linux-stable-85144df9ff4652816448369de76897c57cbb1b93.tar.bz2
linux-stable-85144df9ff4652816448369de76897c57cbb1b93.zip
drm/i915: fix a possible refcount leak in intel_dp_add_mst_connector()
If drm_connector_init fails, intel_connector_free will be called to take care of proper free. So it is necessary to drop the refcount of port before intel_connector_free. Fixes: 091a4f91942a ("drm/i915: Handle drm-layer errors in intel_dp_add_mst_connector") Signed-off-by: Hangyu Hua <hbh25y@gmail.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220624130406.17996-1-jose.souza@intel.com Signed-off-by: José Roberto de Souza <jose.souza@intel.com> (cherry picked from commit cea9ed611e85d36a05db52b6457bf584b7d969e2) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/display/intel_dp_mst.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 061b277e5ce7..14d2a64193b2 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -839,6 +839,7 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
ret = drm_connector_init(dev, connector, &intel_dp_mst_connector_funcs,
DRM_MODE_CONNECTOR_DisplayPort);
if (ret) {
+ drm_dp_mst_put_port_malloc(port);
intel_connector_free(intel_connector);
return NULL;
}