[PATCH] edac x38: fix a resource leak in x38_probe1()

Haoxiang Li posted 1 patch 1 month, 2 weeks ago
drivers/edac/x38_edac.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
[PATCH] edac x38: fix a resource leak in x38_probe1()
Posted by Haoxiang Li 1 month, 2 weeks ago
If edac_mc_alloc() fails, also unmap the window.
Add a goto to do so.

Found by code review and compiled on ubuntu 20.04.

Fixes: df8bc08c192f ("edac x38: new MC driver module")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
---
 drivers/edac/x38_edac.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/edac/x38_edac.c b/drivers/edac/x38_edac.c
index 49ab5721aab2..09889b615584 100644
--- a/drivers/edac/x38_edac.c
+++ b/drivers/edac/x38_edac.c
@@ -342,8 +342,10 @@ static int x38_probe1(struct pci_dev *pdev, int dev_idx)
 	layers[1].size = x38_channel_num;
 	layers[1].is_virt_csrow = false;
 	mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0);
-	if (!mci)
-		return -ENOMEM;
+	if (!mci) {
+		rc = -ENOMEM;
+		goto fail;
+	}
 
 	edac_dbg(3, "MC: init mci\n");
 
-- 
2.25.1