Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

roel kluin and committed by
David S. Miller
dcbfef82 5d789229

+3
+3
drivers/net/au1000_eth.c
··· 1157 1157 aup->mii_bus->name = "au1000_eth_mii"; 1158 1158 snprintf(aup->mii_bus->id, MII_BUS_ID_SIZE, "%x", aup->mac_id); 1159 1159 aup->mii_bus->irq = kmalloc(sizeof(int)*PHY_MAX_ADDR, GFP_KERNEL); 1160 + if (aup->mii_bus->irq == NULL) 1161 + goto err_out; 1162 + 1160 1163 for(i = 0; i < PHY_MAX_ADDR; ++i) 1161 1164 aup->mii_bus->irq[i] = PHY_POLL; 1162 1165