drivers/ps3: Fix ps3-vuart null dereference

On the unlikely event that drv is null, the current code will
perform a null pointer dereference with it when printing a dev_dbg
message.  Instead, the BUG_ON check on drv should be performed
before we emit the dev_dbg message.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Colin King 2015-09-14 19:35:04 +00:00 committed by Michael Ellerman
parent 12a5093367
commit 6a6120bc5e

View File

@ -1000,12 +1000,11 @@ static int ps3_vuart_probe(struct ps3_system_bus_device *dev)
dev_dbg(&dev->core, "%s:%d\n", __func__, __LINE__); dev_dbg(&dev->core, "%s:%d\n", __func__, __LINE__);
drv = ps3_system_bus_dev_to_vuart_drv(dev); drv = ps3_system_bus_dev_to_vuart_drv(dev);
BUG_ON(!drv);
dev_dbg(&dev->core, "%s:%d: (%s)\n", __func__, __LINE__, dev_dbg(&dev->core, "%s:%d: (%s)\n", __func__, __LINE__,
drv->core.core.name); drv->core.core.name);
BUG_ON(!drv);
if (dev->port_number >= PORT_COUNT) { if (dev->port_number >= PORT_COUNT) {
BUG(); BUG();
return -EINVAL; return -EINVAL;