serial: 8250_aspeed_vuart: Fix potential NULL dereference in aspeed_vuart_probe
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 4 Apr 2022 14:38:40 +0000 (14:38 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 16:36:03 +0000 (18:36 +0200)
[ Upstream commit 0e0fd55719fa081de6f9e5d9e6cef48efb04d34a ]

platform_get_resource() may fail and return NULL, so we should
better check it's return value to avoid a NULL pointer dereference.

Fixes: 54da3e381c2b ("serial: 8250_aspeed_vuart: use UPF_IOREMAP to set up register mapping")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220404143842.16960-1-linmq006@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/tty/serial/8250/8250_aspeed_vuart.c

index c2cecc6..179bb13 100644 (file)
@@ -429,6 +429,8 @@ static int aspeed_vuart_probe(struct platform_device *pdev)
        timer_setup(&vuart->unthrottle_timer, aspeed_vuart_unthrottle_exp, 0);
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (!res)
+               return -EINVAL;
 
        memset(&port, 0, sizeof(port));
        port.port.private_data = vuart;