Re: [PATCH] davinci:Fix possible NULL pointer deference in the function davinci_gpio_probe
From: Alexandre Courbot
Date: Tue Feb 02 2016 - 18:31:06 EST
On Fri, Jan 29, 2016 at 6:04 AM, Nicholas Krause <xerofoify@xxxxxxxxx> wrote:
> This fixes a possible NULL pointer deference in the function,
> davinci_gpio_probe due to the function, gpio2regs being able
> to return a NULL pointer if it rans to get the registers for
> the gpio devices on a davinci board. Furthermore if this does
> arise return -ENXIO to signal callers that this case has arisen
> and avoiding setting the regs or other pointer values on the
> chips to avoid rather deferences to a NULL pointer by other
> functions in this gpio driver.
>
> Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx>
> ---
> drivers/gpio/gpio-davinci.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
> index ec58f42..800227e 100644
> --- a/drivers/gpio/gpio-davinci.c
> +++ b/drivers/gpio/gpio-davinci.c
> @@ -257,6 +257,8 @@ static int davinci_gpio_probe(struct platform_device *pdev)
> spin_lock_init(&chips[i].lock);
>
> regs = gpio2regs(base);
> + if (!ret)
> + return -ENXIO;
You haven't even tried to compile this one, have you?