Re: [PATCH v1] tty: serial: 8250: 8250_gsc:- Handle return NULL error from ioremap_nocache

From: Andy Shevchenko
Date: Thu Jan 19 2017 - 13:51:27 EST


On Thu, Jan 19, 2017 at 10:00 AM, Arvind Yadav
<arvind.yadav.cs@xxxxxxxxx> wrote:
> Here, If ioremap_nocache will fail. It will return NULL.
> Kernel can run into a NULL-pointer dereference.
> This error check will avoid NULL pointer dereference.

> uart.port.mapbase = address;
> uart.port.membase = ioremap_nocache(address, 16);
> + if (!uart.port.membase) {
> + dev_warn(&dev->dev, "Failed to map memory\n");
> + return -ENOMEM;
> + }

You also may do something like

void __iomem *base;
...

base = ioremap_nocache(...);
if (!base)
return -ENOMEM;
// I doubt the message is useful, up to you

memset(&uart, 0, sizeof(uart));
...
uart.port.membase = base;

--
With Best Regards,
Andy Shevchenko