* [PATCH v3] EDAC/altera: Fix device node reference leaks in the SDMMC ECC setup
@ 2026-09-26 12:08 Rounak Das
2026-09-26 18:59 ` Borislav Petkov
0 siblings, 1 reply; 3+ messages in thread
From: Rounak Das @ 2026-09-26 12:08 UTC (permalink / raw)
To: Borislav Petkov
Cc: Dinh Nguyen, Tony Luck, linux-edac, linux-kernel, Rounak Das, stable
Under altr_portb_setup() and socfpga_init_sdmmc_ecc(),
of_find_compatible_node() was being used to look up the sdmmc-ecc
node. This node wasn't being dropped using of_node_put().
altr_portb_setup() did not drop its reference under its success path
or on any error path.
socfpga_init_sdmmc_ecc() did an early return thereby skipping the
common exit label and thus leaking the reference.
Add the missing of_node_put() calls in altr_portb_setup(), and route
socfpga_init_sdmmc_ecc()'s success path through the common exit label.
Fixes: 911049845d70 ("EDAC, altera: Add Arria10 SD-MMC EDAC support")
Fixes: 788586efd116 ("EDAC/altera: Initialize peripheral FIFOs in probe()")
Cc: stable@vger.kernel.org # 6.18+
Closes: https://sashiko.dev/#/patchset/20260708091135.94114-1-rounakdas2025%40gmail.com
Acked-by: Dinh Nguyen <dinguyen@kernel.org>
Signed-off-by: Rounak Das <rounakdas2025@gmail.com>
---
v3:
- Rebase on top of Dinh's "Address sashiko reviews part 1" series (Dinh).
- Limit stable backport to 6.18+.
v2: https://lore.kernel.org/all/20260717131720.19038-1-rounakdas2025@gmail.com/
v1: https://lore.kernel.org/all/20260717102549.13309-1-rounakdas2025@gmail.com/
---
drivers/edac/altera_edac.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c
index 4c20fb926160..bb95dab847b3 100644
--- a/drivers/edac/altera_edac.c
+++ b/drivers/edac/altera_edac.c
@@ -1506,6 +1506,7 @@ static int altr_portb_setup(struct altr_edac_device_dev *device)
dci = edac_device_alloc_ctl_info(sizeof(*altdev), ecc_name, 1,
ecc_name, 1, 0, edac_idx);
if (!dci) {
+ of_node_put(np);
edac_printk(KERN_ERR, EDAC_DEVICE,
"%s: Unable to allocate PortB EDAC device\n",
ecc_name);
@@ -1518,6 +1519,7 @@ static int altr_portb_setup(struct altr_edac_device_dev *device)
if (!devres_open_group(device->edac->dev, altr_portb_setup, GFP_KERNEL)) {
edac_device_free_ctl_info(dci);
+ of_node_put(np);
return -ENOMEM;
}
@@ -1584,6 +1586,8 @@ static int altr_portb_setup(struct altr_edac_device_dev *device)
rc = -ENOMEM;
goto err_release_group_1;
}
+ of_node_put(np);
+
altr_create_edacdev_dbgfs(dci, prv);
list_add(&altdev->next, &altdev->edac->a10_ecc_devices);
@@ -1600,6 +1604,7 @@ static int altr_portb_setup(struct altr_edac_device_dev *device)
*/
devres_release_group(device->edac->dev, altr_portb_setup);
edac_device_free_ctl_info(dci);
+ of_node_put(np);
edac_printk(KERN_ERR, EDAC_DEVICE,
"%s:Error setting up EDAC device: %d\n", ecc_name, rc);
return rc;
@@ -1627,7 +1632,7 @@ static int socfpga_init_sdmmc_ecc(struct altr_edac_device_dev *device)
goto exit;
/* Setup portB */
- return altr_portb_setup(device);
+ rc = altr_portb_setup(device);
exit:
of_node_put(child);
base-commit: eef3b67f9c6782127163b631c9043011a68016e2
--
2.54.0 (Apple Git-157)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v3] EDAC/altera: Fix device node reference leaks in the SDMMC ECC setup
2026-09-26 12:08 [PATCH v3] EDAC/altera: Fix device node reference leaks in the SDMMC ECC setup Rounak Das
@ 2026-09-26 18:59 ` Borislav Petkov
2026-09-26 19:24 ` Rounak Das
0 siblings, 1 reply; 3+ messages in thread
From: Borislav Petkov @ 2026-09-26 18:59 UTC (permalink / raw)
To: Dinh Nguyen; +Cc: Rounak Das, Tony Luck, linux-edac, linux-kernel
On Sat, Sep 26, 2026 at 05:38:46PM +0530, Rounak Das wrote:
> Under altr_portb_setup() and socfpga_init_sdmmc_ecc(),
> of_find_compatible_node() was being used to look up the sdmmc-ecc
> node. This node wasn't being dropped using of_node_put().
>
> altr_portb_setup() did not drop its reference under its success path
> or on any error path.
>
> socfpga_init_sdmmc_ecc() did an early return thereby skipping the
> common exit label and thus leaking the reference.
>
> Add the missing of_node_put() calls in altr_portb_setup(), and route
> socfpga_init_sdmmc_ecc()'s success path through the common exit label.
>
> Fixes: 911049845d70 ("EDAC, altera: Add Arria10 SD-MMC EDAC support")
> Fixes: 788586efd116 ("EDAC/altera: Initialize peripheral FIFOs in probe()")
> Cc: stable@vger.kernel.org # 6.18+
> Closes: https://sashiko.dev/#/patchset/20260708091135.94114-1-rounakdas2025%40gmail.com
> Acked-by: Dinh Nguyen <dinguyen@kernel.org>
> Signed-off-by: Rounak Das <rounakdas2025@gmail.com>
> ---
> v3:
> - Rebase on top of Dinh's "Address sashiko reviews part 1" series (Dinh).
> - Limit stable backport to 6.18+.
> v2: https://lore.kernel.org/all/20260717131720.19038-1-rounakdas2025@gmail.com/
> v1: https://lore.kernel.org/all/20260717102549.13309-1-rounakdas2025@gmail.com/
> ---
> drivers/edac/altera_edac.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
Applied, thanks.
Btw, Dinh, that altr_portb_setup() needs proper scrubbing and reworking of the
error handling into using proper goto labels. Otherwise, there'll be more
sprinkling of unwinding functions like in this patch everywhere and this'll
turn into a real nightmare soon.
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v3] EDAC/altera: Fix device node reference leaks in the SDMMC ECC setup
2026-09-26 18:59 ` Borislav Petkov
@ 2026-09-26 19:24 ` Rounak Das
0 siblings, 0 replies; 3+ messages in thread
From: Rounak Das @ 2026-09-26 19:24 UTC (permalink / raw)
To: Borislav Petkov; +Cc: Dinh Nguyen, Tony Luck, linux-edac, linux-kernel
Hi Dinh,
If you have not started on it yet, I would like to take up reworking the
error handling in altr_portb_setup() into proper goto labels.
Thanks,
Rounak
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-26 19:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-26 12:08 [PATCH v3] EDAC/altera: Fix device node reference leaks in the SDMMC ECC setup Rounak Das
2026-09-26 18:59 ` Borislav Petkov
2026-09-26 19:24 ` Rounak Das
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®