On 07. 01. 22, 15:48, Jiasheng Jiang wrote:
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@xxxxxxxxxxx> --- 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(+) 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; + }
Hi, what about using devm_ioremap_resource() and have only one if there? thanks, -- js suse labs