]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/omap: dss: Fix refcount leak bugs
authorLiang He <windhl@126.com>
Fri, 22 Jul 2022 14:43:48 +0000 (22:43 +0800)
committerTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Fri, 9 Sep 2022 13:23:14 +0000 (16:23 +0300)
In dss_init_ports() and __dss_uninit_ports(), we should call
of_node_put() for the reference returned by of_graph_get_port_by_id()
in fail path or when it is not used anymore.

Fixes: 09bffa6e5192 ("drm: omap: use common OF graph helpers")
Signed-off-by: Liang He <windhl@126.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220722144348.1306569-1-windhl@126.com
drivers/gpu/drm/omapdrm/dss/dss.c

index 0399f3390a0ad6299bbf407b96bb83535ca790e8..c4febb8619103721c3aad7787f7aa79bece2a751 100644 (file)
@@ -1176,6 +1176,7 @@ static void __dss_uninit_ports(struct dss_device *dss, unsigned int num_ports)
                default:
                        break;
                }
+               of_node_put(port);
        }
 }
 
@@ -1208,11 +1209,13 @@ static int dss_init_ports(struct dss_device *dss)
                default:
                        break;
                }
+               of_node_put(port);
        }
 
        return 0;
 
 error:
+       of_node_put(port);
        __dss_uninit_ports(dss, i);
        return r;
 }