[PATCH] b44: ensure valid mac addr

Added code to check for invalid MAC address from eeprom or user input.

Signed-off-by: Gary Zambrano <zambrano@broadcom.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

authored by

Gary Zambrano and committed by
Jeff Garzik
391fc09a bc0e1fc9

+9
+9
drivers/net/b44.c
··· 1339 1339 if (netif_running(dev)) 1340 1340 return -EBUSY; 1341 1341 1342 + if (!is_valid_ether_addr(addr->sa_data)) 1343 + return -EINVAL; 1344 + 1342 1345 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 1343 1346 1344 1347 spin_lock_irq(&bp->lock); ··· 1879 1876 bp->dev->dev_addr[3] = eeprom[80]; 1880 1877 bp->dev->dev_addr[4] = eeprom[83]; 1881 1878 bp->dev->dev_addr[5] = eeprom[82]; 1879 + 1880 + if (!is_valid_ether_addr(&bp->dev->dev_addr[0])){ 1881 + printk(KERN_ERR PFX "Invalid MAC address found in EEPROM\n"); 1882 + return -EINVAL; 1883 + } 1884 + 1882 1885 memcpy(bp->dev->perm_addr, bp->dev->dev_addr, bp->dev->addr_len); 1883 1886 1884 1887 bp->phy_addr = eeprom[90] & 0x1f;