[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