Skip to contentSkip to conversation

eth16i: fix memory leak

PATCH In review Kulikov Vasiliy 3 participants 5 messages Jul 13, 2010 – Jul 15, 2010

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

PATCH 1/1 eth16i: fix memory leak

Free allocated netdev if no probe is expected.

---
 drivers/net/eth16i.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
drivers/net/eth16i.c +3 -1
index 874973f..2bdd394 100644
@@ -1442,8 +1442,10 @@ int __init init_module(void)
 		dev->if_port = eth16i_parse_mediatype(mediatype[this_dev]);
 
 		if(io[this_dev] = 0) {
-			if(this_dev != 0) /* Only autoprobe 1st one */
+			if (this_dev != 0) { /* Only autoprobe 1st one */
+				free_netdev(def);
 				break;
+			}
 
 			printk(KERN_NOTICE "eth16i.c: Presently autoprobing (not recommended) for a single card.\n");
 		}
Signature · 1 line
1.7.0.4
#1 lore raw
Quoted 12 lines · Kulikov Vasiliy

Free allocated netdev if no probe is expected.

---
 drivers/net/eth16i.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
drivers/net/eth16i.c +0 -0
index 874973f..2bdd394 100644

drivers/net/eth16i.c int __init init_module(void) · line 1446

Quoted 6 lines
drivers/net/eth16i.c +2 -1
@@ -1442,8 +1442,10 @@ int __init init_module(void)
 		dev->if_port = eth16i_parse_mediatype(mediatype[this_dev]);
 
 		if(io[this_dev] = 0) {
-			if(this_dev != 0) /* Only autoprobe 1st one */
+			if (this_dev != 0) { /* Only autoprobe 1st one */
+				free_netdev(def);
					    ^^^
				free_netdev(dev);

regards,
dan carpenter

Quoted 6 lines
drivers/net/eth16i.c +1 -0
 				break;
+			}
 
 			printk(KERN_NOTICE "eth16i.c: Presently autoprobing (not recommended) for a single card.\n");
 		}
#2 lore raw
Quoted 15 lines · Dan Carpenter
Quoted 14 lines · Kulikov Vasiliy

Free allocated netdev if no probe is expected.

---
 drivers/net/eth16i.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
drivers/net/eth16i.c +0 -0
index 874973f..2bdd394 100644
@@ -1442,8 +1442,10 @@ int __init init_module(void)
 		dev->if_port = eth16i_parse_mediatype(mediatype[this_dev]);
 
Quoted 6 lines

drivers/net/eth16i.c int __init init_module(void) · line 1446

Quoted 4 lines
drivers/net/eth16i.c +2 -1
 		if(io[this_dev] = 0) {
-			if(this_dev != 0) /* Only autoprobe 1st one */
+			if (this_dev != 0) { /* Only autoprobe 1st one */
+				free_netdev(def);
					    ^^^
				free_netdev(dev);

Heh, this function is surrounded with #ifdef MODULE #endif, so this typo was not detected at my test nonmoduled compilation. Thanks.

Patch v2 is comming.

Quoted 11 lines

regards,
dan carpenter

Quoted 6 lines
drivers/net/eth16i.c +1 -0
 				break;
+			}
 
 			printk(KERN_NOTICE "eth16i.c: Presently autoprobing (not recommended) for a single card.\n");
 		}
#3 lore raw

PATCH v2 1/1 eth16i: fix memory leak

In reply to Dan Carpenter

Free allocated netdev if no probe is expected.

---
 drivers/net/eth16i.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
drivers/net/eth16i.c +3 -1
index 874973f..10e39f2 100644
@@ -1442,8 +1442,10 @@ int __init init_module(void)
 		dev->if_port = eth16i_parse_mediatype(mediatype[this_dev]);
 
 		if(io[this_dev] = 0) {
-			if(this_dev != 0) /* Only autoprobe 1st one */
+			if (this_dev != 0) { /* Only autoprobe 1st one */
+				free_netdev(dev);
 				break;
+			}
 
 			printk(KERN_NOTICE "eth16i.c: Presently autoprobing (not recommended) for a single card.\n");
 		}
Signature · 1 line
1.7.0.4