Re: [PATCH v2] tty: 8250: fix a missing check for pci_ioremap_bar
From: Andy Shevchenko
Date: Sun Mar 24 2019 - 08:31:26 EST
On Sun, Mar 24, 2019 at 2:26 PM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
> On Sun, Mar 24, 2019 at 2:05 PM Andy Shevchenko
> <andy.shevchenko@xxxxxxxxx> wrote:
> > On Sun, Mar 24, 2019 at 12:55 AM Aditya Pakki <pakki001@xxxxxxx> wrote:
> > >
> > > pci_ioremap_bar could fail. The fix captures the failure and
> > > pass an error code upstream. This can avoid potential NULL
> > > pointer dereferences in the future.
> > >
> >
> > NAK.
> > This will break non-DMA case.
>
> > > @@ -172,12 +172,14 @@ static void qrk_serial_setup_dma(struct lpss8250 *lpss, struct uart_port *port)
>
> Just to clarify, what you need is simple
>
> void __iomem *regs;
Sorry for leftover.
> chip->pdata = ... //move it here for better looking code
> chip->irq = ...
> chip->regs = pci_ioremap_bar(...);
And looking into the code it needs pci_iounmap() on exit one.
> if (!chip->regs)
> return;
>
> and thank you for pointing to this.
--
With Best Regards,
Andy Shevchenko