From: Miaoqian Lin Date: Wed, 25 May 2022 11:54:11 +0000 (+0400) Subject: drm/mcde: Fix refcount leak in mcde_dsi_bind X-Git-Tag: v6.0-rc1~138^2~18^2~58 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3a149169e4a2f9127022fec6ef5d71b4e804b3b9;p=thirdparty%2Fkernel%2Flinux.git drm/mcde: Fix refcount leak in mcde_dsi_bind 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: 5fc537bfd000 ("drm/mcde: Add new driver for ST-Ericsson MCDE") Signed-off-by: Miaoqian Lin Signed-off-by: Linus Walleij Link: https://patchwork.freedesktop.org/patch/msgid/20220525115411.65455-1-linmq006@gmail.com --- diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_dsi.c index 5651734ce977f..9f9ac8699310d 100644 --- a/drivers/gpu/drm/mcde/mcde_dsi.c +++ b/drivers/gpu/drm/mcde/mcde_dsi.c @@ -1111,6 +1111,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; } }