Commit d6f434e8 authored by Nicholas Krause's avatar Nicholas Krause Committed by Linus Walleij

gpio: davinci: Fix possible NULL pointer deference

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
Signed-off-by: default avatarNicholas Krause <xerofoify@gmail.com>
Reviewed-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent ed07247d
...@@ -257,6 +257,8 @@ static int davinci_gpio_probe(struct platform_device *pdev) ...@@ -257,6 +257,8 @@ static int davinci_gpio_probe(struct platform_device *pdev)
spin_lock_init(&chips[i].lock); spin_lock_init(&chips[i].lock);
regs = gpio2regs(base); regs = gpio2regs(base);
if (!regs)
return -ENXIO;
chips[i].regs = regs; chips[i].regs = regs;
chips[i].set_data = &regs->set_data; chips[i].set_data = &regs->set_data;
chips[i].clr_data = &regs->clr_data; chips[i].clr_data = &regs->clr_data;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment