[PATCH -next] serial: omap: fix potential NULL pointer dereference in serial_omap_runtime_suspend()
Tony Lindgren
tony at atomide.com
Thu Jun 6 01:28:56 EST 2013
* Wei Yongjun <weiyj.lk at gmail.com> [130604 19:10]:
> From: Wei Yongjun <yongjun_wei at trendmicro.com.cn>
>
> The dereference to 'up' should be moved below the NULL test.
> Introduced by commit ddd85e225c8885b5e4419b0499ab27100e7c366a
> (serial: omap: prevent runtime PM for "no_console_suspend")
Acked-by: Tony Lindgren <tony at atomide.com>
> Signed-off-by: Wei Yongjun <yongjun_wei at trendmicro.com.cn>
> ---
> drivers/tty/serial/omap-serial.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
> index 1aaeca8..156b5aa 100644
> --- a/drivers/tty/serial/omap-serial.c
> +++ b/drivers/tty/serial/omap-serial.c
> @@ -1613,6 +1613,9 @@ static int serial_omap_runtime_suspend(struct device *dev)
> struct uart_omap_port *up = dev_get_drvdata(dev);
> struct omap_uart_port_info *pdata = dev->platform_data;
>
> + if (!up)
> + return -EINVAL;
> +
> /*
> * When using 'no_console_suspend', the console UART must not be
> * suspended. Since driver suspend is managed by runtime suspend,
> @@ -1623,9 +1626,6 @@ static int serial_omap_runtime_suspend(struct device *dev)
> uart_console(&up->port))
> return -EBUSY;
>
> - if (!up)
> - return -EINVAL;
> -
> if (!pdata)
> return 0;
>
>
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
More information about the devicetree-discuss
mailing list