Skip to contentSkip to conversation

bfin_mac: fix memleak in mii_bus{probe|remove}

PATCH In review Denis Kirjanov <[email protected] 3 participants 6 messages May 18, 2010 – May 19, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 bfin_mac: fix memleak in mii_bus{probe|remove}

Fix memory leak with miibus->irq

---

drivers/net/bfin_mac.c | 2 ++

 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/net/bfin_mac.c +2 -0
index 39a54ba..7a17b8a 100644
@@ -1627,6 +1627,7 @@ static int __devinit bfin_mii_bus_probe(struct platform_device *pdev)
 
 out_err_mdiobus_register:
 	mdiobus_free(miibus);
+	kfree(miibus->irq);
 out_err_alloc:
 	peripheral_free_list(pin_req);
 
@@ -1638,6 +1639,7 @@ static int __devexit bfin_mii_bus_remove(struct platform_device *pdev)
 	struct mii_bus *miibus = platform_get_drvdata(pdev);
 	platform_set_drvdata(pdev, NULL);
 	mdiobus_unregister(miibus);
+	kfree(miibus->irq);
 	mdiobus_free(miibus);
 	peripheral_free_list(pin_req);
 	return 0;
#1 lore raw

2010/5/18 Denis Kirjanov <[email protected] <[email protected]>:

Quoted 14 lines

Fix memory leak with miibus->irq

---

drivers/net/bfin_mac.c |    2 ++

 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/net/bfin_mac.c +0 -0
index 39a54ba..7a17b8a 100644
@@ -1627,6 +1627,7 @@ static int __devinit bfin_mii_bus_probe(struct platform_device *pdev)
 
Quoted 3 lines

 out_err_mdiobus_register:
       mdiobus_free(miibus);
+       kfree(miibus->irq);

Should you move this kfree before mdiobus_free?

Quoted 16 lines

 out_err_alloc:
       peripheral_free_list(pin_req);

drivers/net/bfin_mac.c +1 -1
@@ -1638,6 +1639,7 @@ static int __devexit bfin_mii_bus_remove(struct platform_device *pdev)
        struct mii_bus *miibus = platform_get_drvdata(pdev);
        platform_set_drvdata(pdev, NULL);
        mdiobus_unregister(miibus);
+       kfree(miibus->irq);
        mdiobus_free(miibus);
        peripheral_free_list(pin_req);
        return 0;
--

To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

#2 lore raw
Quoted 24 lines · Sonic Zhang

2010/5/18 Denis Kirjanov <[email protected] <[email protected]>:

Quoted 14 lines

Fix memory leak with miibus->irq

---

drivers/net/bfin_mac.c |    2 ++

 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/net/bfin_mac.c +0 -0
index 39a54ba..7a17b8a 100644
@@ -1627,6 +1627,7 @@ static int __devinit bfin_mii_bus_probe(struct platform_device *pdev)
 
Quoted 3 lines

 out_err_mdiobus_register:
       mdiobus_free(miibus);
+       kfree(miibus->irq);

Should you move this kfree before mdiobus_free?

Quoted 3 lines

 out_err_alloc:
       peripheral_free_list(pin_req);

Quoted 13 lines
Quoted 9 lines
drivers/net/bfin_mac.c +1 -1
@@ -1638,6 +1639,7 @@ static int __devexit bfin_mii_bus_remove(struct platform_device *pdev)
        struct mii_bus *miibus = platform_get_drvdata(pdev);
        platform_set_drvdata(pdev, NULL);
        mdiobus_unregister(miibus);
+       kfree(miibus->irq);
        mdiobus_free(miibus);
        peripheral_free_list(pin_req);
        return 0;
--
Quoted 4 lines

To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Oops, yeah, fixed.
Thanks.

[PATCH] bfin_mac: fix memleak in mii_bus_{probe|remove} Fix memory leak with miibus->irq

---
drivers/net/bfin_mac.c | 2 ++

 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/net/bfin_mac.c +2 -0
index 39a54ba..368f333 100644
@@ -1626,6 +1626,7 @@ static int __devinit bfin_mii_bus_probe(struct platform_device *pdev)
 	return 0;
 
 out_err_mdiobus_register:
+	kfree(miibus->irq);
 	mdiobus_free(miibus);
 out_err_alloc:
 	peripheral_free_list(pin_req);
@@ -1638,6 +1639,7 @@ static int __devexit bfin_mii_bus_remove(struct platform_device *pdev)
 	struct mii_bus *miibus = platform_get_drvdata(pdev);
 	platform_set_drvdata(pdev, NULL);
 	mdiobus_unregister(miibus);
+	kfree(miibus->irq);
 	mdiobus_free(miibus);
 	peripheral_free_list(pin_req);
 	return 0;
maintainer
#3 lore raw

From: Denis Kirjanov <[email protected]>
Date: Tue, 18 May 2010 15:34:46 +0400

Quoted 4 lines

[PATCH] bfin_mac: fix memleak in mii_bus_{probe|remove} Fix memory leak with miibus->irq

I've already applied the original patch.

Therefore, it makes no sense to send a fresh complete version of the original patch to fix this.

You'll need to send a relative patch against the other one to fix the problem.

maintainer
#4 lore raw

From: David Miller <[email protected]>
Date: Tue, 18 May 2010 14:13:18 -0700 (PDT)

Quoted 9 lines

From: Denis Kirjanov <[email protected]>
Date: Tue, 18 May 2010 15:34:46 +0400

Quoted 4 lines

[PATCH] bfin_mac: fix memleak in mii_bus_{probe|remove} Fix memory leak with miibus->irq

I've already applied the original patch.

Sorry, ignore this, I didn't see that this is a new patch.

#5 lore raw
In reply to David Miller
Quoted 8 lines · David Miller

From: Denis Kirjanov <[email protected]>
Date: Tue, 18 May 2010 15:34:46 +0400

Quoted 4 lines

[PATCH] bfin_mac: fix memleak in mii_bus_{probe|remove} Fix memory leak with miibus->irq

Quoted 7 lines

I've already applied the original patch.

Therefore, it makes no sense to send a fresh complete version of the original patch to fix this.

You'll need to send a relative patch against the other one to fix the problem.

Ok, here it is. Sorry for the previous one.

[PATCH] bfin_mac: fix invalid pointer dereference in bfin_mii_bus_probe Fix invalid memory access.

---

drivers/net/bfin_mac.c | 2 +-

 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/net/bfin_mac.c +1 -1
index 7a17b8a..368f333 100644
@@ -1626,8 +1626,8 @@ static int __devinit bfin_mii_bus_probe(struct platform_device *pdev)
 	return 0;
 
 out_err_mdiobus_register:
-	mdiobus_free(miibus);
 	kfree(miibus->irq);
+	mdiobus_free(miibus);
 out_err_alloc:
 	peripheral_free_list(pin_req);