Re: [PATCH v2] isdn: hfcpci: fix potential NULL pointer dereference

From: David Miller
Date: Mon Mar 11 2019 - 15:14:17 EST


From: Kangjie Lu <kjlu@xxxxxxx>
Date: Mon, 11 Mar 2019 00:34:34 -0500

> In case ioremap fails, the fix releases resources and returns.
>
> Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
> ---
> drivers/isdn/hardware/mISDN/hfcpci.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/isdn/hardware/mISDN/hfcpci.c b/drivers/isdn/hardware/mISDN/hfcpci.c
> index ebb3fa2e1d00..d1d53c5de3c0 100644
> --- a/drivers/isdn/hardware/mISDN/hfcpci.c
> +++ b/drivers/isdn/hardware/mISDN/hfcpci.c
> @@ -2036,6 +2036,12 @@ 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)) {
> + pci_free_consistent(hc->pdev, 0x8000, hc->hw.fifos,
> + hc->hw.dmahandle);
> + return 1;
> + }

The log message emitted before this new check reports detection of the
device, which you should not do if we are going to fail the probe.