Message ID | 20220107144852.4081390-1-jiasheng@iscas.ac.cn |
---|---|
State | Superseded |
Headers | show |
Series | [v2] tty/serial: Check for null pointer after calling devm_ioremap | expand |
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;
As the possible failure of the devres_alloc(), the devm_ioremap() may return NULL pointer. And the 'port->membase' will be used in mlb_usio_startup() without the check. Therefore, in order to avoid the dereference of the NULL pointer, it should be better to add the check to guarantee the success of the probe. Fixes: ba44dc043004 ("serial: Add Milbeaut serial control") Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> --- Changelog v1 -> v2 * Change 1. Refine the commit message to be more clear. --- drivers/tty/serial/milbeaut_usio.c | 4 ++++ 1 file changed, 4 insertions(+)