diff options
author | Arvind Yadav <arvind.yadav.cs@gmail.com> | 2016-12-15 00:33:30 +0530 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-12-19 11:03:34 -0500 |
commit | 162809dfc2bfb31eb54dc67733bcdab0f2d1534d (patch) | |
tree | c299f13fe82353a80863cf3182dc20f2d3732bfe /drivers | |
parent | 52f40e9d657cc126b766304a5dd58ad73b02ff46 (diff) | |
download | linux-stable-162809dfc2bfb31eb54dc67733bcdab0f2d1534d.tar.gz linux-stable-162809dfc2bfb31eb54dc67733bcdab0f2d1534d.tar.bz2 linux-stable-162809dfc2bfb31eb54dc67733bcdab0f2d1534d.zip |
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 <arvind.yadav.cs@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/cavium/octeon/octeon_mgmt.c | 6 |
1 files changed, 6 insertions, 0 deletions
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); |