summaryrefslogtreecommitdiffstats
path: root/drivers/net/au1000_eth.c
diff options
context:
space:
mode:
authorroel kluin <roel.kluin@gmail.com>2009-08-31 00:40:15 +0200
committerDavid S. Miller <davem@davemloft.net>2009-09-02 02:40:56 +0200
commitdcbfef820bdd1cdb412ccf234840e23edf67014f (patch)
treea8fa09b17f0a9e573f859b558ebcebb0ba9ea572 /drivers/net/au1000_eth.c
parentRTO connection timeout: sysctl documentation update (diff)
downloadlinux-dcbfef820bdd1cdb412ccf234840e23edf67014f.tar.xz
linux-dcbfef820bdd1cdb412ccf234840e23edf67014f.zip
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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index 407fd45f56a1..fdf5937233fc 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;