diff options
author | Kangjie Lu <kjlu@umn.edu> | 2019-03-09 08:49:34 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-03-10 20:58:08 +0300 |
commit | d721fe99f6ada070ae8fc0ec3e01ce5a42def0d9 (patch) | |
tree | 725847cb7c0b2485003ff9a65a3f52a40c9e6d60 | |
parent | 69b51bbb03f73e04c486f79d1556b2d9becf4dbc (diff) | |
download | linux-d721fe99f6ada070ae8fc0ec3e01ce5a42def0d9.tar.xz |
isdn: mISDNinfineon: fix potential NULL pointer dereference
In case ioremap fails, the fix returns -ENOMEM to avoid NULL
pointer dereference.
Signed-off-by: Kangjie Lu <kjlu@umn.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/isdn/hardware/mISDN/mISDNinfineon.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/isdn/hardware/mISDN/mISDNinfineon.c b/drivers/isdn/hardware/mISDN/mISDNinfineon.c index 3e01012be4ab..0fe6ddcb3fdc 100644 --- a/drivers/isdn/hardware/mISDN/mISDNinfineon.c +++ b/drivers/isdn/hardware/mISDN/mISDNinfineon.c @@ -712,8 +712,11 @@ setup_io(struct inf_hw *hw) (ulong)hw->addr.start, (ulong)hw->addr.size); return err; } - if (hw->ci->addr_mode == AM_MEMIO) + if (hw->ci->addr_mode == AM_MEMIO) { hw->addr.p = ioremap(hw->addr.start, hw->addr.size); + if (unlikely(!hw->addr.p)) + return -ENOMEM; + } hw->addr.mode = hw->ci->addr_mode; if (debug & DEBUG_HW) pr_notice("%s: IO addr %lx (%lu bytes) mode%d\n", |