]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
drm/omap: dss: Fix refcount leak bugs
authorLiang He <windhl@126.com>
Fri, 22 Jul 2022 14:43:48 +0000 (22:43 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Thu, 24 Nov 2022 13:24:25 +0000 (14:24 +0100)
BugLink: https://bugs.launchpad.net/bugs/1996825
[ Upstream commit 8b42057e62120813ebe9274f508fa785b7cab33a ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/gpu/drm/omapdrm/dss/dss.c

index d6a5862b4dbf5a3c85d28f0c7d172ba8b96a0b07..7567e2265aa33b67deee6814081dfa7fc640b6b8 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;
 }