]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/mcde: Fix refcount leak in mcde_dsi_bind
authorMiaoqian Lin <linmq006@gmail.com>
Wed, 25 May 2022 11:54:11 +0000 (15:54 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:17:39 +0000 (11:17 +0200)
[ Upstream commit a8837dfec18b75486ca7f8bee0702b2c61df0e1e ]

Every iteration of for_each_available_child_of_node() decrements
the reference counter of the previous node. There is no decrement
when break out from the loop and results in refcount leak.
Add missing of_node_put() to fix this.

Fixes: b54b2b95e2dd ("drm/mcde: Add new driver for ST-Ericsson MCDE")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220525115411.65455-1-linmq006@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/mcde/mcde_dsi.c

index 8c8c92fc82e97b1fb98a0927b9a6e05aedac707d..a580b9cadb0cf7d53dca15086b1cd5bd9ca811ad 100644 (file)
@@ -942,6 +942,7 @@ static int mcde_dsi_bind(struct device *dev, struct device *master,
                        bridge = of_drm_find_bridge(child);
                        if (!bridge) {
                                dev_err(dev, "failed to find bridge\n");
+                               of_node_put(child);
                                return -EINVAL;
                        }
                }