As the possible failure of the allocation, the devm_ioremap() may return NULL pointer. And the 'port->membase' will be directly used in mlb_usio_startup(). Therefore, in order to avoid the dereference of the NULL pointer, it should be better to add the sanity check. Fixes: ba44dc043004 ("serial: Add Milbeaut serial control") Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx> --- drivers/tty/serial/milbeaut_usio.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/tty/serial/milbeaut_usio.c b/drivers/tty/serial/milbeaut_usio.c index 8f2cab7f66ad..1ecbf6d0dc79 100644 --- a/drivers/tty/serial/milbeaut_usio.c +++ b/drivers/tty/serial/milbeaut_usio.c @@ -523,6 +523,10 @@ static int mlb_usio_probe(struct platform_device *pdev) } port->membase = devm_ioremap(&pdev->dev, res->start, resource_size(res)); + if (!port->membase) { + ret = -ENOMEM; + goto failed; + } ret = platform_get_irq_byname(pdev, "rx"); mlb_usio_irq[index][RX] = ret; -- 2.25.1