Skip to contentSkip to conversation

net: Check network device driver name

PATCH Superseded Michal Simek 3 participants 4 messages Aug 30, 2011 – Sep 4, 2011 Networking

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 net: Check network device driver name

If name is longer than allocated space NAMESIZE
mac address is rewritten which show error
message like:

Error message:
Warning: Xlltemac.87000000 MAC addresses don't match:
Address in SROM is 30:00:00:00:00:00
Address in environment is 00:0a:35:00:6a:04

NAMESIZE contains Driver name + zero terminated character.

---
v2: Apply Mike Frysinger version

---
 net/eth.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
net/eth.c +8 -0
index a34fe59..c9b7e85 100644
@@ -224,6 +224,14 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
 int eth_register(struct eth_device *dev)
 {
 	struct eth_device *d;
+
+	size_t len = strlen(dev->name);
+	if (len >= NAMESIZE) {
+		printf("Network driver name is too long (%zu >= %zu): %s\n",
+						len, NAMESIZE, dev->name);
+		return -1;
+	}
+
 	if (!eth_devices) {
 		eth_current = eth_devices = dev;
 		eth_current_changed();
Signature · 1 line
1.5.5.6
#1 lore raw

PATCH v2 1/1 net: Check network device driver name

net/eth.c int eth_write_hwaddr(struct eth_device *dev, const · line 233

Quoted 13 lines · On Tuesday, August 30, 2011 05:30:13 Michal Simek wrote:
net/eth.c +7 -0
@@ -224,6 +224,14 @@ int eth_write_hwaddr(struct eth_device *dev, const
 char *base_name, int eth_register(struct eth_device *dev)
 {
 	struct eth_device *d;
+
+	size_t len = strlen(dev->name);
+	if (len >= NAMESIZE) {
+		printf("Network driver name is too long (%zu >= %zu): %s\n",
+						len, NAMESIZE, dev->name);
+		return -1;
+	}

thinking a little more, i wonder if this wouldnt be better as an assert() or BUG_ON(). this isnt a normal issue and generally gets caught once -- during development of a new board.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110901/7c75798a/attachment.pgp

#2 lore raw

PATCH v2 1/1 net: Check network device driver name

Quoted 10 lines · Mike Frysinger
Quoted 9 lines · On Tuesday, August 30, 2011 05:30:13 Michal Simek wrote:
net/eth.c +3 -0
@@ -224,6 +224,14 @@ int eth_write_hwaddr(struct eth_device *dev, const
 char *base_name, int eth_register(struct eth_device *dev)
 {
 	struct eth_device *d;
+
+	size_t len = strlen(dev->name);
+	if (len >= NAMESIZE) {
Quoted 8 lines

net/eth.c int eth_write_hwaddr(struct eth_device *dev, const char *base_name, · line 233

Quoted 4 lines
net/eth.c +4 -0
+		printf("Network driver name is too long (%zu >= %zu): %s\n",
+						len, NAMESIZE, dev->name);
+		return -1;
+	}

thinking a little more, i wonder if this wouldnt be better as an assert() or BUG_ON(). this isnt a normal issue and generally gets caught once -- during development of a new board.

Just during development. Not sure if possible to do configuration run-time through custom command. If yes then it can be useful too.

Michal

Signature · 4 lines
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
#3 lore raw

PATCH v2 1/1 net: Check network device driver name

In reply to Michal Simek

Dear Michal Simek,

Quoted 11 lines · In message <[email protected]> you wrote:

If name is longer than allocated space NAMESIZE
mac address is rewritten which show error
message like:

Error message:
Warning: Xlltemac.87000000 MAC addresses don't match:
Address in SROM is 30:00:00:00:00:00
Address in environment is 00:0a:35:00:6a:04

NAMESIZE contains Driver name + zero terminated character.

Quoted 7 lines

---
v2: Apply Mike Frysinger version

---
 net/eth.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

Signature · 7 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"There is nothing  so  deadly  as  not  to  hold  up  to  people  the
opportunity to do great and wonderful things, if we wish to stimulate
them in an active way."
- Dr. Harold Urey, Nobel Laureate in chemistry