From nobody Mon Apr 27 07:52:19 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDA80C43334 for ; Wed, 15 Jun 2022 13:36:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352698AbiFONgM (ORCPT ); Wed, 15 Jun 2022 09:36:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352387AbiFONgK (ORCPT ); Wed, 15 Jun 2022 09:36:10 -0400 Received: from m15112.mail.126.com (m15112.mail.126.com [220.181.15.112]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0569E3631F for ; Wed, 15 Jun 2022 06:36:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=cQlyO FmjcZobR7aTYosEqngYYxcwcNKmc5B9Yt/7tqc=; b=EJ4GIwj73lWbbNMkOT38h zKj2yF8qwKAnjjRTaXESc12YN+7K3IpNxXQjFsX4MuYZ8TNBCVVqoNexX0WBIvcR MYE6/Fe7GuguFE3WgiafKbt4I9peEHniJGDacoRG5p7gwnV69z31QIIURu+l0coq 9SpHuBAde37EnwTrQRJvIk= Received: from localhost.localdomain (unknown [124.16.139.61]) by smtp2 (Coremail) with SMTP id DMmowADH0wbV36liBxg5DQ--.45191S2; Wed, 15 Jun 2022 21:34:14 +0800 (CST) From: Liang He To: dinguyen@kernel.org, bp@alien8.de, mchehab@kernel.org, tony.luck@intel.com, james.morse@arm.com, rric@kernel.org Cc: linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, Liang He Subject: [PATCH] drivers: edac: Add missing of_node_put() in altera_edac.c Date: Wed, 15 Jun 2022 21:34:13 +0800 Message-Id: <20220615133413.3967379-1-windhl@126.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: DMmowADH0wbV36liBxg5DQ--.45191S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7Zr1kJF4UCFy3GF13Aw43Jrb_yoW8AF15pF 48Ka90yFWIyr15WF1qv3Z5Zay5Xw1vv3y8urySy392kFsrJ3yvqryjvFZIyas8ArWrZ3y3 Xw4jy3yfC3WUCw7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zR-_-dUUUUU= X-Originating-IP: [124.16.139.61] X-CM-SenderInfo: hzlqvxbo6rjloofrz/1tbizhYhF18RPTFd9QAAsE Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In altr_portb_setup(), of_find_compatible_node() will return a node pointer with refcount incremented. We should use of_node_put() in fail path or when it is not used anymore. Signed-off-by: Liang He --- drivers/edac/altera_edac.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c index e7e8e624a436..f035d131751c 100644 --- a/drivers/edac/altera_edac.c +++ b/drivers/edac/altera_edac.c @@ -1528,7 +1528,8 @@ static int altr_portb_setup(struct altr_edac_device_d= ev *device) edac_printk(KERN_ERR, EDAC_DEVICE, "%s: Unable to allocate PortB EDAC device\n", ecc_name); - return -ENOMEM; + rc =3D -ENOMEM; + goto out_put; } =20 /* Initialize the PortB EDAC device structure from PortA structure */ @@ -1536,7 +1537,10 @@ static int altr_portb_setup(struct altr_edac_device_= dev *device) *altdev =3D *device; =20 if (!devres_open_group(&altdev->ddev, altr_portb_setup, GFP_KERNEL)) - return -ENOMEM; + { + rc =3D -ENOMEM; + goto out_put; + } =20 /* Update PortB specific values */ altdev->edac_dev_name =3D ecc_name; @@ -1605,6 +1609,9 @@ static int altr_portb_setup(struct altr_edac_device_d= ev *device) rc =3D -ENOMEM; goto err_release_group_1; } +=09 + of_node_put(np); +=09 altr_create_edacdev_dbgfs(dci, prv); =20 list_add(&altdev->next, &altdev->edac->a10_ecc_devices); @@ -1618,6 +1625,8 @@ static int altr_portb_setup(struct altr_edac_device_d= ev *device) devres_release_group(&altdev->ddev, altr_portb_setup); edac_printk(KERN_ERR, EDAC_DEVICE, "%s:Error setting up EDAC device: %d\n", ecc_name, rc); +out_put: + of_node_put(np);=09 return rc; } =20 --=20 2.25.1