From: Arvind Yadav Date: Wed, 14 Dec 2016 19:03:30 +0000 (+0530) Subject: net: ethernet: cavium: octeon: octeon_mgmt: Handle return NULL error from devm_ioremap X-Git-Tag: v4.10-rc1~36^2~14 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=162809dfc2bfb31eb54dc67733bcdab0f2d1534d;p=karo-tx-linux.git net: ethernet: cavium: octeon: octeon_mgmt: Handle return NULL error from devm_ioremap Here, If devm_ioremap will fail. It will return NULL. Kernel can run into a NULL-pointer dereference. This error check will avoid NULL pointer dereference. Signed-off-by: Arvind Yadav Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c index 16e12c45904b..21f80f5744ba 100644 --- a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c +++ b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c @@ -1469,6 +1469,12 @@ static int octeon_mgmt_probe(struct platform_device *pdev) p->agl = (u64)devm_ioremap(&pdev->dev, p->agl_phys, p->agl_size); p->agl_prt_ctl = (u64)devm_ioremap(&pdev->dev, p->agl_prt_ctl_phys, p->agl_prt_ctl_size); + if (!p->mix || !p->agl || !p->agl_prt_ctl) { + dev_err(&pdev->dev, "failed to map I/O memory\n"); + result = -ENOMEM; + goto err; + } + spin_lock_init(&p->lock); skb_queue_head_init(&p->tx_list);