[PATCH] EDAC/i3200: Fix mci_pdev reference leak in i3200_init_one()

Wentao Liang posted 1 patch 1 week, 1 day ago
drivers/edac/i3200_edac.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH] EDAC/i3200: Fix mci_pdev reference leak in i3200_init_one()
Posted by Wentao Liang 1 week, 1 day ago
In i3200_init_one(), a reference to the PCI device is taken with
pci_dev_get() and stored in the global mci_pdev even when
i3200_probe1() fails.  On that path i3200_registered keeps its initial
value of 1, so i3200_exit() skips the pci_dev_put() and the reference
is leaked.

Only take the reference after i3200_probe1() succeeds.

Fixes: dd8ef1db87a4 ("edac: i3200 memory controller driver")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
 drivers/edac/i3200_edac.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/edac/i3200_edac.c b/drivers/edac/i3200_edac.c
index 6cade6d7ceff..c80c77230369 100644
--- a/drivers/edac/i3200_edac.c
+++ b/drivers/edac/i3200_edac.c
@@ -439,10 +439,13 @@ static int i3200_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 		return -EIO;
 
 	rc = i3200_probe1(pdev, ent->driver_data);
+	if (rc)
+		return rc;
+
 	if (!mci_pdev)
 		mci_pdev = pci_dev_get(pdev);
 
-	return rc;
+	return 0;
 }
 
 static void i3200_remove_one(struct pci_dev *pdev)
-- 
2.34.1
[PATCH] MAINTAINERS: Orphan drivers/edac/i3200_edac.c
Posted by Borislav Petkov 5 days, 23 hours ago
From: "Borislav Petkov (AMD)" <bp@alien8.de>
Date: Fri, 18 Sep 2026 22:43:31 -0700

It hasn't received any care and testing for a looong time now, and it
doesn't look like it would anymore. Orphan it.

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
---
 MAINTAINERS | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 1461ac362c6b..b00c20ade1eb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9447,6 +9447,11 @@ L:	linux-edac@vger.kernel.org
 S:	Orphan
 F:	drivers/edac/i3000_edac.c
 
+EDAC-I3200
+L:	linux-edac@vger.kernel.org
+S:	Orphan
+F:	drivers/edac/i3200_edac.c
+
 EDAC-I5000
 L:	linux-edac@vger.kernel.org
 S:	Maintained
-- 
2.53.0


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette