{"id":2232474,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2232474/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260504-sunxi-v1-1-c0fd0df52776@gmail.com/","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.1/projects/42/?format=json","name":"Linux GPIO development","link_name":"linux-gpio","list_id":"linux-gpio.vger.kernel.org","list_email":"linux-gpio@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260504-sunxi-v1-1-c0fd0df52776@gmail.com>","date":"2026-05-04T14:53:26","name":"pinctrl: sunxi: fix regulator leak in sunxi_pmx_request() error path","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"05f93818439416da160a145febf4831ca4c276ea","submitter":{"id":92491,"url":"http://patchwork.ozlabs.org/api/1.1/people/92491/?format=json","name":"Felix Gu","email":"ustc.gu@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260504-sunxi-v1-1-c0fd0df52776@gmail.com/mbox/","series":[{"id":502678,"url":"http://patchwork.ozlabs.org/api/1.1/series/502678/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/list/?series=502678","date":"2026-05-04T14:53:26","name":"pinctrl: sunxi: fix regulator leak in sunxi_pmx_request() error path","version":1,"mbox":"http://patchwork.ozlabs.org/series/502678/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2232474/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2232474/checks/","tags":{},"headers":{"Return-Path":"\n <linux-gpio+bounces-36081-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=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=Vnni7daF;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-gpio+bounces-36081-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"Vnni7daF\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.216.43","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\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 4g8PtV6KHKz1yJV\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 00:59:14 +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 25B703016282\n\tfor <incoming@patchwork.ozlabs.org>; Mon,  4 May 2026 14:53:39 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 2C5923D524D;\n\tMon,  4 May 2026 14:53:35 +0000 (UTC)","from mail-pj1-f43.google.com (mail-pj1-f43.google.com\n [209.85.216.43])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id B42FD3CEB89\n\tfor <linux-gpio@vger.kernel.org>; Mon,  4 May 2026 14:53:33 +0000 (UTC)","by mail-pj1-f43.google.com with SMTP id\n 98e67ed59e1d1-35691a231a7so2879437a91.3\n        for <linux-gpio@vger.kernel.org>;\n Mon, 04 May 2026 07:53:33 -0700 (PDT)","from junjungu-PC.localdomain ([223.166.246.30])\n        by smtp.gmail.com with ESMTPSA id\n 41be03b00d2f7-c7ffbb05798sm9926085a12.0.2026.05.04.07.53.28\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Mon, 04 May 2026 07:53:32 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777906414; cv=none;\n b=FI7A8EeZTJ62iFIOp5R8GDkIT2VrSAZChnsM4mxMZcDc0K+wZT448CaNsbXVbySO6H/tEa/2PetXGPHzgbatRl1kCSMf1+AY8gUCddeyDT3ttJ5lT5r0pWU2BBe86rbfhJ3slbQamEbvT5YfopH1Tir9UYBfpMi4A9hkdm1Kv+E=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777906414; c=relaxed/simple;\n\tbh=KsGehUIs9yjLgFhJm+ALM6CihYTUD9IxFPyF+rbn54Y=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc;\n b=V0IxY7KuykE7tIqSmGVq5U2Rd8/YPcE6m0Lk91L3kjftk8+rbqAWB0gwjzecVv/HJqqTfj9hjl7urELS57YBZN0paqPxKJvlsakLZ40qOYoz/fRfkT5UgQ+Uc7KXiCIuEgOY6Ve7KYS8o+lnQmPUX9kup7D+ygWLJN0DoisKgwo=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=Vnni7daF; arc=none smtp.client-ip=209.85.216.43","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1777906413; x=1778511213;\n darn=vger.kernel.org;\n        h=cc:to:message-id:content-transfer-encoding:mime-version:subject\n         :date:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=L68A0nliiu2Q3xuxzZG34RHvsW2Cqh1HButFAloiLuY=;\n        b=Vnni7daFHiQtPUTPwAC5VPvcWlkiSfDDTcHDsOguprYLJCPCctBmQbXXOymx4dLJNx\n         kD6L/+pO886c3Zg+EzpQRwX3JP9kB7Gv1HkiKSejZ6L/CVbCEa2SRBJBLEZRn0D3rWtE\n         vUL1Ljig/PPfB+MZi8fyK7iF30EXtU2eJCKUS2FH17VR96qwrwOgEzmpyIpq0dUTqa+i\n         ObODjY94AR4wuogW3s7fqlOzeUofbVZfCNFIcks97AOif4vp+hU2mSf662o3x73kN5De\n         Tz+y2YMqGR5H3SiH1+6KLQq5A+9jO0+M4vjHLM2Gu/U2JzaKk1w8eUiF1qEUyStlOJQo\n         w6Lg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1777906413; x=1778511213;\n        h=cc:to:message-id:content-transfer-encoding:mime-version:subject\n         :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=L68A0nliiu2Q3xuxzZG34RHvsW2Cqh1HButFAloiLuY=;\n        b=HQtTZnY14JWy14YnM8qC+zMIxGLA9QH/Hzz4vlSQ056FcMtvPA2ahSVz88oXJi/gEJ\n         zMWtedgHjxdk7owyoP8dHdO4i6KaiKhzL81dFGvYbCe0m9XVTFdlctaV9v5kcLueEAVq\n         822/4CYXVXbabLAA6cicykoiMecAHuI2g2erv8zxPduNP91SkX/XbS/maX4gXvFHhaSO\n         Qe7Jyz8JAkEfjAyHrKQVo1ni6nPnPvBv7PR2YZh+dOTs5WPWjgRPn8coyup6OrDNR8PD\n         zU9tRaOF6Vtk31Jz/aDFpBr4cVw6D9CDMFP5fHpDnOGi0dbPJ8qI98f4ltDkJ0hzcOoy\n         ciOg==","X-Gm-Message-State":"AOJu0Yw6zMLBMX3CHSG+X09lscaT5fuUSUJkf2nFg5ibaWGI/x0WqXPa\n\tdhpT9bHA5OM0/+6fEacjEAF1T/GK1+FJupEC9ujzhHInmXimaQSk3rhe","X-Gm-Gg":"AeBDietz6+gTYGAvZZMu/PLb+MlP4U63yx5I4C083mY2XsI/mcw9RDTtiyxp7rcH+9D\n\tHGY22z9wOMAErWsWIdpNFx5SO9VTWBVreYQyZZiiFMFHKE/9zTpkU13jBNbnyuGEoe5hso4O87o\n\tltZoz7sCIsxokq2k0nW1dBh47nuwwxDYUVIabQ7+YQo3pGDwN1LqjC5FeDjiwg8Ph2X/wV93j1t\n\tZX6Cs1PMp3FXgKxIlvz1P/r/2YEff0EVkq9hO4iaXWfcm/J07ZC/3XQCB3g9M7AwPeHI+s+zKJf\n\tXouUObWPx/9qspPP9KoZQPElPntqQZB0VoaKJi4tedbWPXkD/h7tEw4wi6vAGQPRwLBI7Z8xA4N\n\tVp387fb4QtAIqC7OlnVC9TlT+I2rSbIyB4tiaK9uOK360mPL1a+7V2P9IYkO/ocjXJWbwju2qEO\n\tGcO+QanNRGFPXUMTtMT49uX/E99eKKV7GaVSK+Bhu/Y9St9uzU+ALznJ9s9tueJC4LVmSXmOoUY\n\tCWf68MHFyZmlHGVYbpBNsMBgOA5bg==","X-Received":"by 2002:a17:90a:d444:b0:364:6558:99be with SMTP id\n 98e67ed59e1d1-3650ceaab7fmr9463975a91.22.1777906412786;\n        Mon, 04 May 2026 07:53:32 -0700 (PDT)","From":"Felix Gu <ustc.gu@gmail.com>","Date":"Mon, 04 May 2026 22:53:26 +0800","Subject":"[PATCH] pinctrl: sunxi: fix regulator leak in sunxi_pmx_request()\n error path","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=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20260504-sunxi-v1-1-c0fd0df52776@gmail.com>","X-B4-Tracking":"v=1; b=H4sIAOWy+GkC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE\n vPSU3UzU4B8JSMDIzMDUwMT3eLSvIpM3eSUREtDMzPDZEMLQyWg2oKi1LTMCrA50bG1tQCZt7F\n DVwAAAA==","X-Change-ID":"20260504-sunxi-cda91661c181","To":"Linus Walleij <linusw@kernel.org>, Chen-Yu Tsai <wens@kernel.org>,\n Jernej Skrabec <jernej.skrabec@gmail.com>,\n Samuel Holland <samuel@sholland.org>, Maxime Ripard <mripard@kernel.org>","Cc":"linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,\n linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org,\n Felix Gu <ustc.gu@gmail.com>","X-Mailer":"b4 0.14.3","X-Developer-Signature":"v=1; a=ed25519-sha256; t=1777906408; l=1142;\n i=ustc.gu@gmail.com; h=from:subject:message-id;\n bh=KsGehUIs9yjLgFhJm+ALM6CihYTUD9IxFPyF+rbn54Y=;\n b=HeZnzJUAEwh2zXD8lRSUzBtxzjVKqCO0BBfYZRyGOZBJ5CwDrdBrjEiQHQdwkS1QwwsLUSbpO\n 6SW0IlZZ5BXCjzD1FqEQUkVaPWVJsfKl5GiXk3mGGLFIUcMtZBXaX+U","X-Developer-Key":"i=ustc.gu@gmail.com; a=ed25519;\n pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw="},"content":"In the error path of sunxi_pmx_request(), the code calls\nregulator_put(s_reg->regulator) to release the regulator. However,\ns_reg->regulator is only assigned after a successful regulator_enable().\nThis causes a memory leak: the regulator obtained via regulator_get()\nis never properly released when regulator_enable() fails.\n\nFixes: dc1445584177 (\"pinctrl: sunxi: Fix and simplify pin bank regulator handling\")\nSigned-off-by: Felix Gu <ustc.gu@gmail.com>\n---\n drivers/pinctrl/sunxi/pinctrl-sunxi.c | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\n\n---\nbase-commit: b9303e6bff706758c167af686b5315ad00233bf8\nchange-id: 20260504-sunxi-cda91661c181\n\nBest regards,","diff":"diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c\nindex 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","prefixes":[]}