[{"id":3686067,"web_url":"http://patchwork.ozlabs.org/comment/3686067/","msgid":"<20260505013325.74de6c21@ryzen.lan>","list_archive_url":null,"date":"2026-05-04T23:33:25","subject":"Re: [PATCH] pinctrl: sunxi: fix regulator leak in\n sunxi_pmx_request() error path","submitter":{"id":61837,"url":"http://patchwork.ozlabs.org/api/people/61837/","name":"Andre Przywara","email":"andre.przywara@arm.com"},"content":"On Mon, 04 May 2026 22:53:26 +0800\nFelix Gu <ustc.gu@gmail.com> wrote:\n\n> In the error path of sunxi_pmx_request(), the code calls\n> regulator_put(s_reg->regulator) to release the regulator. However,\n> s_reg->regulator is only assigned after a successful regulator_enable().\n> This causes a memory leak: the regulator obtained via regulator_get()\n> is never properly released when regulator_enable() fails.\n\nYes, that's a correct observation. The fix looks alright, though I\nwonder if we should drop the \"goto\" here altogether, since there is only\none caller, and the code would look better like this:\n\n\tret = regulator_enable(reg);\n\tif (ret) {\n\t\tdev_err(pctl->dev, ...\n\t\tregulator_put(reg);\n\t\treturn ret;\n        }\n...\n\n> Fixes: dc1445584177 (\"pinctrl: sunxi: Fix and simplify pin bank regulator handling\")\n> Signed-off-by: Felix Gu <ustc.gu@gmail.com>\n\nRegardless, the fix is correct, so:\n\nReviewed-by: Andre Przywara <andre.przywara@arm.com>\n\nCheers,\nAndre\n\n> ---\n>  drivers/pinctrl/sunxi/pinctrl-sunxi.c | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c\n> index d3042e0c9712..25489beeb312 100644\n> --- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c\n> +++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c\n> @@ -925,7 +925,7 @@ static int sunxi_pmx_request(struct pinctrl_dev *pctldev, unsigned offset)\n>  \treturn 0;\n>  \n>  out:\n> -\tregulator_put(s_reg->regulator);\n> +\tregulator_put(reg);\n>  \n>  \treturn ret;\n>  }\n> \n> ---\n> base-commit: b9303e6bff706758c167af686b5315ad00233bf8\n> change-id: 20260504-sunxi-cda91661c181\n> \n> Best regards,","headers":{"Return-Path":"\n <linux-gpio+bounces-36098-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=foss header.b=NIZxlofX;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-gpio+bounces-36098-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.b=\"NIZxlofX\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=217.140.110.172","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=arm.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=arm.com"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g8dJc5zJ4z1y04\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 09:34:08 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 3DF56301D308\n\tfor <incoming@patchwork.ozlabs.org>; Mon,  4 May 2026 23:34:06 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 2C8C33DE429;\n\tMon,  4 May 2026 23:34:05 +0000 (UTC)","from foss.arm.com (foss.arm.com [217.140.110.172])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 8818D3DD532;\n\tMon,  4 May 2026 23:34:02 +0000 (UTC)","from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n\tby usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4E3E924C0;\n\tMon,  4 May 2026 16:33:56 -0700 (PDT)","from ryzen.lan (usa-sjc-mx-foss1.foss.arm.com [172.31.20.19])\n\tby usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EC9AD3F7B4;\n\tMon,  4 May 2026 16:33:59 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777937645; cv=none;\n b=BPn0BJi63gLfbRJeP1J9Rhs1s09MtNDNN8QrBm3QBr/eYfZou6JgLmGpKpQKLHhZaJBsaP2V8KwnryNEhKfvqE1eQrI9iCvFaISTFnCHW6AqtgncbMtrAK8tgQiULv4AzTHQAds00phD0TrXpukn32i+fX/tQowoNc56Jwnw4bQ=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777937645; c=relaxed/simple;\n\tbh=yRUjHk/bWRa3yzbi/uy35powhSCptlYsurtPe87JWYM=;\n\th=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=uyUZJa6OSj/cCU31xgiZo2HMDEk6ZL0ErgJ6L4zdu7MOoHFURpAucBdZsPIOLDdi2KkxD35cGGsUcDQcBmCzjJ3ppaEZlwuyjZxlby1Ij4w7gZPtiPmukMVwGxk5DG5bsASRPlu+f2xmmdjPPTiKHQheNKk/8jo4Fywr3m8o6yQ=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=arm.com;\n spf=pass smtp.mailfrom=arm.com;\n dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.b=NIZxlofX; arc=none smtp.client-ip=217.140.110.172","DKIM-Signature":"v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss;\n\tt=1777937641; bh=yRUjHk/bWRa3yzbi/uy35powhSCptlYsurtPe87JWYM=;\n\th=Date:From:To:Cc:Subject:In-Reply-To:References:From;\n\tb=NIZxlofX6t0+2104etadZndVgufTMw9ZvqEMHOclqmJC6gHGx/FJ2GAAgTD4+zcGZ\n\t c7N5fov8VNvAdoRfsxzoCJ2vcYepEka6aEq8NeWpLckyyjrz0usTToXaoF3iGpc5Pj\n\t w611q2DlRNqSgvTjqeFmoWDEwQ2F9XQ9ghdPNtCg=","Date":"Tue, 5 May 2026 01:33:25 +0200","From":"Andre Przywara <andre.przywara@arm.com>","To":"Felix Gu <ustc.gu@gmail.com>","Cc":"Linus Walleij <linusw@kernel.org>, Chen-Yu Tsai <wens@kernel.org>,\n Jernej Skrabec <jernej.skrabec@gmail.com>, Samuel Holland\n <samuel@sholland.org>, Maxime Ripard <mripard@kernel.org>,\n linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,\n linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org","Subject":"Re: [PATCH] pinctrl: sunxi: fix regulator leak in\n sunxi_pmx_request() error path","Message-ID":"<20260505013325.74de6c21@ryzen.lan>","In-Reply-To":"<20260504-sunxi-v1-1-c0fd0df52776@gmail.com>","References":"<20260504-sunxi-v1-1-c0fd0df52776@gmail.com>","Organization":"Arm Ltd.","X-Mailer":"Claws Mail 4.4.0 (GTK 3.24.31; x86_64-slackware-linux-gnu)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII","Content-Transfer-Encoding":"7bit"}},{"id":3686268,"web_url":"http://patchwork.ozlabs.org/comment/3686268/","msgid":"<CAD++jLki-QEVAGwO5YfYAeVWs+Ey1WmFY-+XNkn_BA+6T7u6WA@mail.gmail.com>","list_archive_url":null,"date":"2026-05-05T09:26:12","subject":"Re: [PATCH] pinctrl: sunxi: fix regulator leak in sunxi_pmx_request()\n error path","submitter":{"id":92050,"url":"http://patchwork.ozlabs.org/api/people/92050/","name":"Linus Walleij","email":"linusw@kernel.org"},"content":"On Mon, May 4, 2026 at 4:53 PM Felix Gu <ustc.gu@gmail.com> wrote:\n\n> In the error path of sunxi_pmx_request(), the code calls\n> regulator_put(s_reg->regulator) to release the regulator. However,\n> s_reg->regulator is only assigned after a successful regulator_enable().\n> This causes a memory leak: the regulator obtained via regulator_get()\n> is never properly released when regulator_enable() fails.\n>\n> Fixes: dc1445584177 (\"pinctrl: sunxi: Fix and simplify pin bank regulator handling\")\n> Signed-off-by: Felix Gu <ustc.gu@gmail.com>\n\nPatch applied as nonurgent fix!\n\nYours,\nLinus Walleij","headers":{"Return-Path":"\n <linux-gpio+bounces-36120-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=bqiatuw+;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-gpio+bounces-36120-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"bqiatuw+\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g8tdG1jhVz1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 19:34:26 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 571543074A1D\n\tfor <incoming@patchwork.ozlabs.org>; Tue,  5 May 2026 09:26:47 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 8A36031E82B;\n\tTue,  5 May 2026 09:26:26 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 4C4F231F985\n\tfor <linux-gpio@vger.kernel.org>; Tue,  5 May 2026 09:26:26 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 00CF1C2BCB9\n\tfor <linux-gpio@vger.kernel.org>; Tue,  5 May 2026 09:26:25 +0000 (UTC)","by mail-lf1-f47.google.com with SMTP id\n 2adb3069b0e04-5a85b30dd54so3822793e87.2\n        for <linux-gpio@vger.kernel.org>;\n Tue, 05 May 2026 02:26:25 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777973186; cv=none;\n b=Hc3keRndWSWkZWSLElUwX/ZmGONJpPNPqSoxz9/ns9S1HDZGvhV/NoQzgWXs6o9iot/84DTWahG8+X18RSeDsNt0NbJdyDQST8BmdTHycbMFCy2oorLsl6bhC5KqSyOrKe7uee4LmFv+81PKCA/az0/kvVnZDKiIasSyDzH6dwA=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777973186; c=relaxed/simple;\n\tbh=BiETUYGBdA6U6OoG8HOJZeeTR5ZTz0XpLfvjy4A7y8Y=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=cb6KIPgYsYKHuNPpBo8FL5CCgvt9zaWJuGRdm3UY3n+fNND5SZk/oIJy1kRzTFbRkxLxLdDQPeMz931iHm5GJnEJfDxKENrHAcEKFLx+D8oVmVy6P2qBjVVZYaVXQ1RTWGgiVFHigz44I7t8ofUYPiyQMxVRsnzQ6MSt6JGROiY=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=bqiatuw+; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777973186;\n\tbh=BiETUYGBdA6U6OoG8HOJZeeTR5ZTz0XpLfvjy4A7y8Y=;\n\th=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n\tb=bqiatuw+F31Yuyoyo8LoEyVfRW3HPwHTDRebp1rK4BMrtJwqiA/ehvA6BeODAu+bt\n\t Fh5S9NOONoE2eOGNNiOsU0Mtv+sSZxpix2vGFIAXFvTlOGJkXUA8KWA8Sx/EwqSkDW\n\t R0+EwFg/rqq0v34ez6QlHT/ciTnOwE4Q857yVeIznIU9uD9K/bQQnxKmRogHYVSrdz\n\t P98VKbcN/5GnBX0hBG5VHALMEHfI95rMmAAQ89K8CXwWEkjN+j66d6y+15g0FnRyD9\n\t MOZyGFxQxe7BaPMbtajV4taehBXjgHEjL2H+T9Q0p6sOaCDByrIsULDgqwxhKs7NG6\n\t aNpUu3y/fHm+A==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+4KrYVKrqL83Ak7nvGt77nUhZ6wgwOwVrMksjH5MVHBneZkXl9zmzRG+s0oosnFtDGkA7exQ7y9+sS@vger.kernel.org","X-Gm-Message-State":"AOJu0YzixT29YOgqbe5zt7Q40k5jzgRUPR2b/TTHkpsLbZtBoSfWRbRg\n\tFfDjSqHDk+IY5r6LKp2x219A+GjDS4V+xOdzu4J0fa3JSPnnJkLmIvf4VG4ZCG2vwYhtaXdvLoP\n\tGMd0bkiLUdsgkbAB+fwmJMthlw2A9W+0=","X-Received":"by 2002:a05:6512:3a83:b0:5a4:1a2:1d39 with SMTP id\n 2adb3069b0e04-5a862ebe3a4mr4549164e87.6.1777973184715; Tue, 05 May 2026\n 02:26:24 -0700 (PDT)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260504-sunxi-v1-1-c0fd0df52776@gmail.com>","In-Reply-To":"<20260504-sunxi-v1-1-c0fd0df52776@gmail.com>","From":"Linus Walleij <linusw@kernel.org>","Date":"Tue, 5 May 2026 11:26:12 +0200","X-Gmail-Original-Message-ID":"\n <CAD++jLki-QEVAGwO5YfYAeVWs+Ey1WmFY-+XNkn_BA+6T7u6WA@mail.gmail.com>","X-Gm-Features":"AVHnY4JN0IoEyvASti40bogeQWlWZiOgk0WDse555_qDzC-5oeg4FV2OdHIN3wY","Message-ID":"\n <CAD++jLki-QEVAGwO5YfYAeVWs+Ey1WmFY-+XNkn_BA+6T7u6WA@mail.gmail.com>","Subject":"Re: [PATCH] pinctrl: sunxi: fix regulator leak in sunxi_pmx_request()\n error path","To":"Felix Gu <ustc.gu@gmail.com>","Cc":"Chen-Yu Tsai <wens@kernel.org>, Jernej Skrabec <jernej.skrabec@gmail.com>,\n\tSamuel Holland <samuel@sholland.org>, Maxime Ripard <mripard@kernel.org>,\n linux-gpio@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev,\n\tlinux-kernel@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable"}}]