au1000_eth: possible NULL dereference of aup->mii_bus->irq in au1000_probe()
authorroel kluin <roel.kluin@gmail.com>
Sun, 30 Aug 2009 22:40:15 +0000 (22:40 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Sep 2009 00:40:56 +0000 (17:40 -0700)
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>
drivers/net/au1000_eth.c

index 407fd45f56a162254fb22451ba49aff90d498408..fdf5937233fc9e91c2a9d6c8e3ac32f2e37dfea4 100644 (file)
@@ -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;