From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mta0.migadu.com (out-150.mta0.migadu.com [91.218.175.150]) (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 F192D1A262A for ; Sat, 19 Sep 2026 17:03:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.150 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789837429; cv=none; b=pHyTapJVnme+7BMTkGxtkRph178B5s0WUcFOy5KyBuOV9nrJ/3WXjMresrG70fR8TF+bEVE4yCGrVPyZiRE8N6qaD9TsWhYzDTamAphh+8ON57FqItrJPKVZUEXvb3GuK8qHIoKtYdeDV1gga7JGOD1880ftwE1bz2rte0RMeFI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789837429; c=relaxed/simple; bh=KWSR8Bvpxfsi7RbIUntAdMkvFkSjbvbdEFF7rLLLzyA=; h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To: References:In-Reply-To; b=PkBj+GucHoxB16NeZYp7m5+e5QyH1cq6nZbvan/S64w0+x8YkLq3o+n8xujO8QLH/cUDJkZI+NO/lArJiStrVudTdeceoaPSHg+/yUG36yce9T37QBj3vvIddGUxrB7fPns7yrkTTFK09xq4ACtTMccRTfyvk5KBgHyNDlu5sC8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=cknow-tech.com; spf=pass smtp.mailfrom=cknow-tech.com; dkim=pass (2048-bit key) header.d=cknow-tech.com header.i=@cknow-tech.com header.b=csj04AZ2; arc=none smtp.client-ip=91.218.175.150 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=cknow-tech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cknow-tech.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cknow-tech.com header.i=@cknow-tech.com header.b="csj04AZ2" X-Envelope-To: linux-pm@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=KWSR8Bvpxfsi7RbIUntAdMkvFkSjbvbdEFF7rLLLzyA=; c=simple/simple; d=cknow-tech.com; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1789837423; v=1; x=1790442223; b=csj04AZ2bvi58tnLcxmIG9SmyQ4TTv44Lukhz1GNNUTqnxXi3wh6kIXOHXylyFw2s7pnL1+c Xa0ynPXjKXIxqrTxCNMGPQqJL04aFdR6HXww0OdyZQ0rCd5NLSAxXw977PZto+ywOJgxAigpij6 TlvQA2t9q9m2iAvufaKPp0SMXbCPjXFS7wdYLlOP08BeNw3K9f8qC8o2hlvuKNaEVYTb+gOaO/r 361iHmOVzRX9Q2r2WwhERr1fD1nHmBI5ir2+TwjCgQsvpshfsTM4Ygpb2V+EKGEorBv/rjj8AWi x1rB/Vk84uhCOiANcN3iXkTmLG+2GLbV2AU95lzm5TJ2Q== X-Envelope-To: linux-pm@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id e9fc09ffbada4e66; Sat, 19 Sep 2026 17:03:33 +0000 X-Mizu-Trace-ID: e9fc09ffbada4e66 X-Migadu-Flow: FLOW_OUT Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Sat, 19 Sep 2026 19:03:22 +0200 Message-Id: Cc: "Sebastian Reichel" , , Subject: Re: [PATCH v2 2/4] pmdomain: rockchip: fix clock leak on domain probe failure From: "Diederik de Haas" To: "Shawn Lin" , "Ulf Hansson" , "Heiko Stuebner" X-Mailer: aerc 0.22.0-24-g39041fd9f179 References: <1789778111-173149-1-git-send-email-shawn.lin@rock-chips.com> <1789778111-173149-3-git-send-email-shawn.lin@rock-chips.com> In-Reply-To: <1789778111-173149-3-git-send-email-shawn.lin@rock-chips.com> On Sat Sep 19, 2026 at 2:35 AM CEST, Shawn Lin wrote: > When of_clk_get() failed in the middle of the loop, the references of > the clocks acquired so far were leaked instead of being released by > the error path. > > Also switch the clks array allocation from devm_kcalloc() to > devm_kzalloc() so that clk_bulk_put() cannot run over uninitialized > entries. > > Fixes: d909072d0521 ("soc: rockchip: power-domain: use clk_bulk APIs") > Signed-off-by: Shawn Lin > Reviewed-by: Sebastian Reichel > --- > > Changes in v2: > - switch to use devm_kzalloc() > - add Sebastian's tag > > drivers/pmdomain/rockchip/pm-domains.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/pmdomain/rockchip/pm-domains.c b/drivers/pmdomain/ro= ckchip/pm-domains.c > index 068dd4b3..43fdb7f 100644 > --- a/drivers/pmdomain/rockchip/pm-domains.c > +++ b/drivers/pmdomain/rockchip/pm-domains.c > @@ -825,7 +825,7 @@ static int rockchip_pm_add_one_domain(struct rockchip= _pmu *pmu, > =20 > pd->num_clks =3D of_clk_get_parent_count(node); > if (pd->num_clks > 0) { > - pd->clks =3D devm_kcalloc(pmu->dev, pd->num_clks, > + pd->clks =3D devm_kzalloc(pmu->dev, pd->num_clks, > sizeof(*pd->clks), GFP_KERNEL); /media/nvme/dev/debian/salsa/kernel-team/linux/drivers/pmdomain/rockchip/pm= -domains.c: In function =E2=80=98rockchip_pm_add_one_domain=E2=80=99: /media/nvme/dev/debian/salsa/kernel-team/linux/drivers/pmdomain/rockchip/pm= -domains.c:840:28: error: too many arguments to function =E2=80=98devm_kzal= loc=E2=80=99; expected 3, have 4 840 | pd->clks =3D devm_kzalloc(pmu->dev, pd->num_clks, | ^~~~~~~~~~~~ In file included from /media/nvme/dev/debian/salsa/kernel-team/linux/includ= e/linux/device.h:31, from /media/nvme/dev/debian/salsa/kernel-team/linux/includ= e/linux/platform_device.h:13, from /media/nvme/dev/debian/salsa/kernel-team/linux/driver= s/pmdomain/rockchip/pm-domains.c:13: /media/nvme/dev/debian/salsa/kernel-team/linux/include/linux/device/devres.= h:48:21: note: declared here 48 | static inline void *devm_kzalloc(struct device *dev, size_t size, g= fp_t gfp) | ^~~~~~~~~~~~ Seems legit: https://elixir.bootlin.com/linux/v7.3-rc3/source/include/linux/device/devre= s.h#L48 Cheers, Diederik > if (!pd->clks) > return -ENOMEM; > @@ -842,7 +842,7 @@ static int rockchip_pm_add_one_domain(struct rockchip= _pmu *pmu, > dev_err(pmu->dev, > "%pOFn: failed to get clk at index %d: %d\n", > node, i, error); > - return error; > + goto err_put_clocks; > } > } > =20 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D007EC982D8 for ; Sat, 19 Sep 2026 17:03:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:References:To:From:Subject: Cc:Message-Id:Date:Mime-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=kSisGkq8rzQNRh8kDG3SuSXsaKLcGYyropNOYLonsqY=; b=p7YbfoORhw/T4O j0jYWneaTE6j+5VlE5AFJFbB0PaBapl+Z+Nr9yN71efBFsZQ93DsVe44Z5pomuWp7fR0dwJ19qgLc ZcWDnCmvn0dSJ6ONlmWUiRe9uesUImXYGQ9WOm8rRYYCVc9G1xnx6BRZQBwNhzSQUMtdG23tC53vS 4XMGCSRJdLC2As3uPdch0WlhnCyrp4s5ZC9NjabtRbhJT4KVEF2ufu3dOeNaeZXAwzNPJkNpqN3i/ 8ll8GCrfObSCfnKdXTYPWqpnI09Qvq7WwYFBDJnmuwOQXnkCPhuqHDjSXAo0DqL0lPVNn1LyYZCXy 6X3TxbOORFe0yozKrecg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x7yTg-0000000GXVM-0uz1; Sat, 19 Sep 2026 17:03:52 +0000 Received: from out-52.mta0.migadu.com ([2001:41d0:1004:224b::34] helo=mta0.migadu.com) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x7yTc-0000000GXUu-1KXJ for linux-rockchip@lists.infradead.org; Sat, 19 Sep 2026 17:03:50 +0000 X-Envelope-To: linux-rockchip@lists.infradead.org DKIM-Signature: a=rsa-sha256; bh=KWSR8Bvpxfsi7RbIUntAdMkvFkSjbvbdEFF7rLLLzyA=; c=simple/simple; d=cknow-tech.com; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1789837423; v=1; x=1790442223; b=csj04AZ2bvi58tnLcxmIG9SmyQ4TTv44Lukhz1GNNUTqnxXi3wh6kIXOHXylyFw2s7pnL1+c Xa0ynPXjKXIxqrTxCNMGPQqJL04aFdR6HXww0OdyZQ0rCd5NLSAxXw977PZto+ywOJgxAigpij6 TlvQA2t9q9m2iAvufaKPp0SMXbCPjXFS7wdYLlOP08BeNw3K9f8qC8o2hlvuKNaEVYTb+gOaO/r 361iHmOVzRX9Q2r2WwhERr1fD1nHmBI5ir2+TwjCgQsvpshfsTM4Ygpb2V+EKGEorBv/rjj8AWi x1rB/Vk84uhCOiANcN3iXkTmLG+2GLbV2AU95lzm5TJ2Q== X-Envelope-To: linux-rockchip@lists.infradead.org Received: by smtp.migadu.com with ESMTPS id e9fc09ffbada4e66; Sat, 19 Sep 2026 17:03:33 +0000 X-Mizu-Trace-ID: e9fc09ffbada4e66 X-Migadu-Flow: FLOW_OUT Mime-Version: 1.0 Date: Sat, 19 Sep 2026 19:03:22 +0200 Message-Id: Cc: "Sebastian Reichel" , , Subject: Re: [PATCH v2 2/4] pmdomain: rockchip: fix clock leak on domain probe failure From: "Diederik de Haas" To: "Shawn Lin" , "Ulf Hansson" , "Heiko Stuebner" X-Mailer: aerc 0.22.0-24-g39041fd9f179 References: <1789778111-173149-1-git-send-email-shawn.lin@rock-chips.com> <1789778111-173149-3-git-send-email-shawn.lin@rock-chips.com> In-Reply-To: <1789778111-173149-3-git-send-email-shawn.lin@rock-chips.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260919_100348_780636_8B06FB88 X-CRM114-Status: GOOD ( 16.11 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org T24gU2F0IFNlcCAxOSwgMjAyNiBhdCAyOjM1IEFNIENFU1QsIFNoYXduIExpbiB3cm90ZToKPiBX aGVuIG9mX2Nsa19nZXQoKSBmYWlsZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgbG9vcCwgdGhlIHJl ZmVyZW5jZXMgb2YKPiB0aGUgY2xvY2tzIGFjcXVpcmVkIHNvIGZhciB3ZXJlIGxlYWtlZCBpbnN0 ZWFkIG9mIGJlaW5nIHJlbGVhc2VkIGJ5Cj4gdGhlIGVycm9yIHBhdGguCj4KPiBBbHNvIHN3aXRj aCB0aGUgY2xrcyBhcnJheSBhbGxvY2F0aW9uIGZyb20gZGV2bV9rY2FsbG9jKCkgdG8KPiBkZXZt X2t6YWxsb2MoKSBzbyB0aGF0IGNsa19idWxrX3B1dCgpIGNhbm5vdCBydW4gb3ZlciB1bmluaXRp YWxpemVkCj4gZW50cmllcy4KPgo+IEZpeGVzOiBkOTA5MDcyZDA1MjEgKCJzb2M6IHJvY2tjaGlw OiBwb3dlci1kb21haW46IHVzZSBjbGtfYnVsayBBUElzIikKPiBTaWduZWQtb2ZmLWJ5OiBTaGF3 biBMaW4gPHNoYXduLmxpbkByb2NrLWNoaXBzLmNvbT4KPiBSZXZpZXdlZC1ieTogU2ViYXN0aWFu IFJlaWNoZWwgPHNlYmFzdGlhbi5yZWljaGVsQGNvbGxhYm9yYS5jb20+Cj4gLS0tCj4KPiBDaGFu Z2VzIGluIHYyOgo+IC0gc3dpdGNoIHRvIHVzZSBkZXZtX2t6YWxsb2MoKQo+IC0gYWRkIFNlYmFz dGlhbidzIHRhZwo+Cj4gIGRyaXZlcnMvcG1kb21haW4vcm9ja2NoaXAvcG0tZG9tYWlucy5jIHwg NCArKy0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbWRvbWFpbi9yb2NrY2hpcC9wbS1kb21haW5zLmMg Yi9kcml2ZXJzL3BtZG9tYWluL3JvY2tjaGlwL3BtLWRvbWFpbnMuYwo+IGluZGV4IDA2OGRkNGIz Li40M2ZkYjdmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcG1kb21haW4vcm9ja2NoaXAvcG0tZG9t YWlucy5jCj4gKysrIGIvZHJpdmVycy9wbWRvbWFpbi9yb2NrY2hpcC9wbS1kb21haW5zLmMKPiBA QCAtODI1LDcgKzgyNSw3IEBAIHN0YXRpYyBpbnQgcm9ja2NoaXBfcG1fYWRkX29uZV9kb21haW4o c3RydWN0IHJvY2tjaGlwX3BtdSAqcG11LAo+ICAKPiAgCXBkLT5udW1fY2xrcyA9IG9mX2Nsa19n ZXRfcGFyZW50X2NvdW50KG5vZGUpOwo+ICAJaWYgKHBkLT5udW1fY2xrcyA+IDApIHsKPiAtCQlw ZC0+Y2xrcyA9IGRldm1fa2NhbGxvYyhwbXUtPmRldiwgcGQtPm51bV9jbGtzLAo+ICsJCXBkLT5j bGtzID0gZGV2bV9remFsbG9jKHBtdS0+ZGV2LCBwZC0+bnVtX2Nsa3MsCj4gIAkJCQkJc2l6ZW9m KCpwZC0+Y2xrcyksIEdGUF9LRVJORUwpOwoKL21lZGlhL252bWUvZGV2L2RlYmlhbi9zYWxzYS9r ZXJuZWwtdGVhbS9saW51eC9kcml2ZXJzL3BtZG9tYWluL3JvY2tjaGlwL3BtLWRvbWFpbnMuYzog SW4gZnVuY3Rpb24g4oCYcm9ja2NoaXBfcG1fYWRkX29uZV9kb21haW7igJk6Ci9tZWRpYS9udm1l L2Rldi9kZWJpYW4vc2Fsc2Eva2VybmVsLXRlYW0vbGludXgvZHJpdmVycy9wbWRvbWFpbi9yb2Nr Y2hpcC9wbS1kb21haW5zLmM6ODQwOjI4OiBlcnJvcjogdG9vIG1hbnkgYXJndW1lbnRzIHRvIGZ1 bmN0aW9uIOKAmGRldm1fa3phbGxvY+KAmTsgZXhwZWN0ZWQgMywgaGF2ZSA0CiAgODQwIHwgICAg ICAgICAgICAgICAgIHBkLT5jbGtzID0gZGV2bV9remFsbG9jKHBtdS0+ZGV2LCBwZC0+bnVtX2Ns a3MsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+CkluIGZp bGUgaW5jbHVkZWQgZnJvbSAvbWVkaWEvbnZtZS9kZXYvZGViaWFuL3NhbHNhL2tlcm5lbC10ZWFt L2xpbnV4L2luY2x1ZGUvbGludXgvZGV2aWNlLmg6MzEsCiAgICAgICAgICAgICAgICAgZnJvbSAv bWVkaWEvbnZtZS9kZXYvZGViaWFuL3NhbHNhL2tlcm5lbC10ZWFtL2xpbnV4L2luY2x1ZGUvbGlu dXgvcGxhdGZvcm1fZGV2aWNlLmg6MTMsCiAgICAgICAgICAgICAgICAgZnJvbSAvbWVkaWEvbnZt ZS9kZXYvZGViaWFuL3NhbHNhL2tlcm5lbC10ZWFtL2xpbnV4L2RyaXZlcnMvcG1kb21haW4vcm9j a2NoaXAvcG0tZG9tYWlucy5jOjEzOgovbWVkaWEvbnZtZS9kZXYvZGViaWFuL3NhbHNhL2tlcm5l bC10ZWFtL2xpbnV4L2luY2x1ZGUvbGludXgvZGV2aWNlL2RldnJlcy5oOjQ4OjIxOiBub3RlOiBk ZWNsYXJlZCBoZXJlCiAgIDQ4IHwgc3RhdGljIGlubGluZSB2b2lkICpkZXZtX2t6YWxsb2Moc3Ry dWN0IGRldmljZSAqZGV2LCBzaXplX3Qgc2l6ZSwgZ2ZwX3QgZ2ZwKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+CgpTZWVtcyBsZWdpdDoKaHR0cHM6Ly9lbGl4aXIuYm9v dGxpbi5jb20vbGludXgvdjcuMy1yYzMvc291cmNlL2luY2x1ZGUvbGludXgvZGV2aWNlL2RldnJl cy5oI0w0OAoKQ2hlZXJzLAogIERpZWRlcmlrCgo+ICAJCWlmICghcGQtPmNsa3MpCj4gIAkJCXJl dHVybiAtRU5PTUVNOwo+IEBAIC04NDIsNyArODQyLDcgQEAgc3RhdGljIGludCByb2NrY2hpcF9w bV9hZGRfb25lX2RvbWFpbihzdHJ1Y3Qgcm9ja2NoaXBfcG11ICpwbXUsCj4gIAkJCWRldl9lcnIo cG11LT5kZXYsCj4gIAkJCQkiJXBPRm46IGZhaWxlZCB0byBnZXQgY2xrIGF0IGluZGV4ICVkOiAl ZFxuIiwKPiAgCQkJCW5vZGUsIGksIGVycm9yKTsKPiAtCQkJcmV0dXJuIGVycm9yOwo+ICsJCQln b3RvIGVycl9wdXRfY2xvY2tzOwo+ICAJCX0KPiAgCX0KPiAgCgoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlz dApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcm9ja2NoaXAK