Message ID | 20190309054605.23912-1-kjlu@umn.edu |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | isdn: hfcpci: fix potential NULL pointer dereference | expand |
From: Kangjie Lu <kjlu@umn.edu> Date: Fri, 8 Mar 2019 23:46:04 -0600 > In case ioremap fails, the fix reports an error and returns. > > Signed-off-by: Kangjie Lu <kjlu@umn.edu> First, you shouldn't print the information log message if this fails. Second you are leaking hc->hw.fifos, you have to clean up any resources allocated up until this point if you fail.
diff --git a/drivers/isdn/hardware/mISDN/hfcpci.c b/drivers/isdn/hardware/mISDN/hfcpci.c index ebb3fa2e1d00..b400d6528a56 100644 --- a/drivers/isdn/hardware/mISDN/hfcpci.c +++ b/drivers/isdn/hardware/mISDN/hfcpci.c @@ -2036,6 +2036,11 @@ setup_hw(struct hfc_pci *hc) "HFC-PCI: defined at mem %#lx fifo %#lx(%#lx) IRQ %d HZ %d\n", (u_long) hc->hw.pci_io, (u_long) hc->hw.fifos, (u_long) hc->hw.dmahandle, hc->irq, HZ); + if (unlikely(!hc->hw.pci_io)) { + printk(KERN_WARNING + "HFC-PCI: ioremap failed!\n"); + return 1; + } /* enable memory mapped ports, disable busmaster */ pci_write_config_word(hc->pdev, PCI_COMMAND, PCI_ENA_MEMIO); hc->hw.int_m2 = 0;
In case ioremap fails, the fix reports an error and returns. Signed-off-by: Kangjie Lu <kjlu@umn.edu> --- drivers/isdn/hardware/mISDN/hfcpci.c | 5 +++++ 1 file changed, 5 insertions(+)