From nobody Sun May 24 19:33:38 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD64834D394 for ; Sat, 23 May 2026 10:27:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779532036; cv=none; b=XHTcReSWgINpyW/mCyPjxjQ1okxcQarD6QrbjGZayfPgSIVtFdKjm/ZU+gC65+aYAt17Fs6Tr2k65jmlon0Vz4kd9meqPfOz/20og16Ft6HsEb7c5mOro9pmx1/TiDKqBe3jR8hJzcMwFbaWsae+wDZkOA7es3ELreqMneFn1BY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779532036; c=relaxed/simple; bh=qcgqBwja4CHu5wwuF/A96Ah+f+QE9tKst8z6RkEiVGM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=FRseL1xTFZT3cpnHQ9WUoqaKRM3enbf18SIRlrOd//+yEWT8w6CwNlDZAi/3XIPJibSOaYzqrucEb3GTLNdy3ig/OwIuYfX1mbCyfeUl3zZk42qXBYlU7IBNbyYapvyC3J8cjII2pU/aSGzja5t5MQT+rSUAxnntSrneqNM7C6I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=D+a694oT; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="D+a694oT" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-841882f8f4bso5535b3a.0 for ; Sat, 23 May 2026 03:27:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779532034; x=1780136834; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=k6UvRxauUxHtkSOdYEC9vPPJYNErnPXZyVXoKgtsN7o=; b=D+a694oTsnZrYLPAtZGj3RWvCypEZ0Fk/AAjUDhjl9ssZ9dS5zwRB/LzfnJnr1UfCp XsMB+xiixi5ek5uegAoHSYNhiDXNDsV0sFy66AqBOrCzIS8mnga7W+R4Co/eGA7w6S4w Sz+zzLDCxDZRAO9EMCiUlvzE2HpOcoV2/ensJYr+HVzRlyTJJ3ivwwvBZyOfJ0VfI/+D CmQb1EooCzN1cwL7dztBBaS93RWy/1wi0c1zpNtvzs8Z6nZjqbmVCzAgZ7kPcNn2aeXD Ub+LhyJibHrE3IgzSioqQ+lAVZVo2Std/8D1gCcAcqB/slbte3E0c9vpZc+FIG5LcA17 4AEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779532034; x=1780136834; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=k6UvRxauUxHtkSOdYEC9vPPJYNErnPXZyVXoKgtsN7o=; b=OydhW8zreiWS+69qIkF7U2DinQ+zsYgAKgRWpQoz9iNkuAQU2EfMfjcNXFQ+XZOzBe 0UG9aJAWTNsSTFSum85xJc18xMAwQw/YGNlsDkDz8ONf0+FpTOgifQ1A1nTXShSkYm5a iqh3DrP+So7PZ9qLVNN10evGP1lzW43kxPAGKgxOvId66faDhgzhwJX8Z1+avgHFKGra RamehszwIJbhY4RipPNN02KwHOsgTtl/fWp7hP2ACvZ6xz8MV0yP0AsagScGAKmDRj09 tJRvZ3SHZdvFoMcVmYLpntg8AsQJ9v62QbpEbhd8nWuFboIOH6G/I3NIN2wXlxGYHwpM V0FA== X-Forwarded-Encrypted: i=1; AFNElJ8O9/83M6NAL0x926CUI9CXDMr7s9liitO/27BMCq7C2Czg2eSiBitYysRo1FMeivhIUYhUKeFXISfqwyw=@vger.kernel.org X-Gm-Message-State: AOJu0Ywy2mOH8mkg6HP4UxOtkerzk300trs5a+ENSozCE1rc3IReJnLJ xDney5SZhAxe4wCk1BA6ZW3fODdigLln3bisIcXG16vDXY/GY44aOcc/ X-Gm-Gg: Acq92OGXYtHfCBYp1sHc128ncnmyPfzjixhrEzLe1bJ3Q5rdmW5Lq9yIgJM6EJolV/A LHivtOQqIwYY0Emf7dSwSU08weORPdcBoXgtuCUt9EAVhGFGtyWv3RG3I8wVv5P3ku7O/W/KqX/ GOP0lv+c0XHCmNgNjuT9V3TpOkBbOJI9dJNyroNuBo1BvOthEU1YXtDIXRnw/9ych4AsTYFE7i/ N/N6ChGfNuK8i8JbtU3iOAuO1rr8niS1GYmXAPP/IpBA5VQNLB32OdiueenMDOXFnaNoWB45AWp C5pJb9RcVJpL1g5ZCcKNZ8ZLE7mXqeAzFKWMevlFXgb3fk8fR6nrrieiiV2b/R8u39BgSj/ALwJ s5F5SNqZntmWpq9SQOg0aNKfBQr9ZSm5MTn/y0bnUz4aL8eoPd0ahbC2dKsAPH2aytrlUsx7pmg IO8ES6DLbtQWOn900naguUb9ynyl1uCV07jjUMsqf3vCP37esD6KezfzYqCH75Te4KVEo4yZPZ8 CvIBLsmPovZmiycOQ== X-Received: by 2002:a05:6a00:1d86:b0:834:df57:9d36 with SMTP id d2e1a72fcca58-8415f66dd37mr7142262b3a.25.1779532033889; Sat, 23 May 2026 03:27:13 -0700 (PDT) Received: from junjungu-PC.localdomain ([223.166.246.30]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84164e9e522sm5137201b3a.36.2026.05.23.03.27.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 May 2026 03:27:13 -0700 (PDT) From: Felix Gu Date: Sat, 23 May 2026 18:27:05 +0800 Subject: [PATCH] pinctrl: imx1: fix device_node leak in dt_is_flat_functions() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260523-pinctrl-imx-v1-1-73b7cb731351@gmail.com> X-B4-Tracking: v=1; b=H4sIAPiAEWoC/yXMQQ5AMBBA0avIrDVpKwRXEQutKSOUtIhEenfF8 i3+v8GjI/RQJzc4PMnTaiNEmoAeOzsgoz4aJJcFz2XGNrJ6dzOj5WJKVKUps0p0ykAsNoeGru/ WtL/9oSbU+7uAEB6uc0wSbwAAAA== X-Change-ID: 20260523-pinctrl-imx-b198f8391abf To: Dong Aisheng , Fabio Estevam , Frank Li , Jacky Bai , Pengutronix Kernel Team , NXP S32 Linux Team , Linus Walleij , Sascha Hauer Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Felix Gu X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1779532030; l=1610; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=qcgqBwja4CHu5wwuF/A96Ah+f+QE9tKst8z6RkEiVGM=; b=TDWZmut8c/UsJuZ34Imt8NoqEeM0PpEU9Mu+fWpsx5fO0+0lK/CKvVOP1rGb0JTH1GYl6LIQ0 m4LTlwTPTOgB7znVwyNrGhXUgbS3V/d65TmQ7AYntqW1v8GFhlfnklw X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= for_each_child_of_node() holds a reference on the iterator node that must be released on early return. imx1_pinctrl_dt_is_flat_functions() has two early return paths inside the loop that skip this cleanup. Replace both loops with the scoped variant so that the reference is automatically dropped when the iterator goes out of scope. Fixes: 63d2059cd665 ("pinctrl: imx1: Allow parsing DT without function node= s") Signed-off-by: Felix Gu Reviewed-by: Frank Li --- 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/pinctr= l/freescale/pinctrl-imx1-core.c index b7bd4ef9c0db..4a6bdaefa42f 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; =20 - 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; } --- base-commit: c1ecb239fa3456529a32255359fc78b69eb9d847 change-id: 20260523-pinctrl-imx-b198f8391abf Best regards, -- =20 Felix Gu