diff options
author | roel kluin <roel.kluin@gmail.com> | 2009-08-30 22:40:15 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-09-01 17:40:56 -0700 |
commit | dcbfef820bdd1cdb412ccf234840e23edf67014f (patch) | |
tree | a8fa09b17f0a9e573f859b558ebcebb0ba9ea572 /drivers/net/au1000_eth.c | |
parent | 5d7892298a819743b3892df08bb496992fe85951 (diff) | |
download | op-kernel-dev-dcbfef820bdd1cdb412ccf234840e23edf67014f.zip op-kernel-dev-dcbfef820bdd1cdb412ccf234840e23edf67014f.tar.gz |
au1000_eth: possible NULL dereference of aup->mii_bus->irq in au1000_probe()
aup->mii_bus->irq allocation may fail, prevent a dereference of NULL.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/au1000_eth.c')
-rw-r--r-- | drivers/net/au1000_eth.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c index 407fd45..fdf5937 100644 --- a/drivers/net/au1000_eth.c +++ b/drivers/net/au1000_eth.c @@ -1157,6 +1157,9 @@ static struct net_device * au1000_probe(int port_num) aup->mii_bus->name = "au1000_eth_mii"; snprintf(aup->mii_bus->id, MII_BUS_ID_SIZE, "%x", aup->mac_id); aup->mii_bus->irq = kmalloc(sizeof(int)*PHY_MAX_ADDR, GFP_KERNEL); + if (aup->mii_bus->irq == NULL) + goto err_out; + for(i = 0; i < PHY_MAX_ADDR; ++i) aup->mii_bus->irq[i] = PHY_POLL; |