]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 2 Jan 2023 11:28:45 +0000 (15:28 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:33:11 +0000 (09:33 +0100)
[ Upstream commit c818ae563bf99457f02e8170aabd6b174f629f65 ]

of_find_node_by_phandle() returns a node pointer with refcount incremented,
We should use of_node_put() on it when not needed anymore.
Add missing of_node_put() to avoid refcount leak.

Fixes: d3e5116119bd ("pinctrl: add pinctrl driver for Rockchip SoCs")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20230102112845.3982407-1-linmq006@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/pinctrl-rockchip.c

index 5eeac92f610a058dc8fa60ab59692f72080f26fb..0276b52f37168423346316089a39417082e6f1f6 100644 (file)
@@ -3045,6 +3045,7 @@ static int rockchip_pinctrl_parse_groups(struct device_node *np,
                np_config = of_find_node_by_phandle(be32_to_cpup(phandle));
                ret = pinconf_generic_parse_dt_config(np_config, NULL,
                                &grp->data[j].configs, &grp->data[j].nconfigs);
+               of_node_put(np_config);
                if (ret)
                        return ret;
        }