Re: [PATCH] pinctrl: freescale: imx1: Fix device node leaks in imx1_pinctrl_dt_is_flat_functions()

Frank Li <[email protected]>
Newsgroups dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-gpio
Message-ID <aohn8ybsXRBcbw5t@SMW015318>
On Fri, Aug 21, 2026 at 11:08:13AM +0600, Md Rabbani wrote:
> [You don't often get email from [email protected]. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> imx1_pinctrl_dt_is_flat_functions() uses for_each_child_of_node() to
> iterate over child and grandchild nodes. When the function returns
> early upon finding an "fsl,pins" property, it does not release the
> acquired device_node references, leaking their reference counts.
>
> Switch to for_each_child_of_node_scoped() to automatically drop the
> node references on early return and loop exit, matching the pattern used
> in pinctrl-imx.c and elsewhere in this driver.
>
> Signed-off-by: Md Rabbani <[email protected]>
> ---

Manush Prajwal already post the same patch

https://lore.kernel.org/imx/[email protected]/

Frank
>  drivers/pinctrl/freescale/pinctrl-imx1-core.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx1-core.c b/drivers/pinctrl/freescale/pinctrl-imx1-core.c
> index b7bd4ef9c0..4a6bdaefa4 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx1-core.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx1-core.c
> @@ -547,14 +547,11 @@ static int imx1_pinctrl_parse_functions(struct device_node *np,
>   */
>  static bool imx1_pinctrl_dt_is_flat_functions(struct device_node *np)
>  {
> -       struct device_node *function_np;
> -       struct device_node *pinctrl_np;
> -
> -       for_each_child_of_node(np, function_np) {
> +       for_each_child_of_node_scoped(np, function_np) {
>                 if (of_property_present(function_np, "fsl,pins"))
>                         return true;
>
> -               for_each_child_of_node(function_np, pinctrl_np) {
> +               for_each_child_of_node_scoped(function_np, pinctrl_np) {
>                         if (of_property_present(pinctrl_np, "fsl,pins"))
>                                 return false;
>                 }
> --
> 2.55.0.windows.3
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.