mdio_bus: NULL dereference on allocation error
If bus = kzalloc() fails then we end up dereferencing bus when we do
"bus->irq[i] = PHY_POLL;". The code is a little simpler if we reverse
the NULL check and return directly on failure.
Fixes: e7f4dc3536
('mdio: Move allocation of interrupts into core')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9d367eddf3
commit
db9107b497
|
@ -102,11 +102,12 @@ struct mii_bus *mdiobus_alloc_size(size_t size)
|
|||
alloc_size = sizeof(*bus);
|
||||
|
||||
bus = kzalloc(alloc_size, GFP_KERNEL);
|
||||
if (bus) {
|
||||
bus->state = MDIOBUS_ALLOCATED;
|
||||
if (size)
|
||||
bus->priv = (void *)bus + aligned_size;
|
||||
}
|
||||
if (!bus)
|
||||
return NULL;
|
||||
|
||||
bus->state = MDIOBUS_ALLOCATED;
|
||||
if (size)
|
||||
bus->priv = (void *)bus + aligned_size;
|
||||
|
||||
/* Initialise the interrupts to polling */
|
||||
for (i = 0; i < PHY_MAX_ADDR; i++)
|
||||
|
|
Loading…
Reference in New Issue