Re: [PATCH] davinci:Fix possible NULL pointer deference in the function davinci_gpio_probe
From: Alexandre Courbot <hidden>
Date: 2016-02-03 00:27:55
Also in:
lkml
On Wed, Feb 3, 2016 at 9:10 AM, nick [off-list ref] wrote:
On 2016-02-02 06:30 PM, Alexandre Courbot wrote:quoted
On Fri, Jan 29, 2016 at 6:04 AM, Nicholas Krause [off-list ref] wrote:quoted
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 <redacted> --- 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?Weird my compiler didn't fail when building with allmodconfig on x86_64 unless this driver is not enabled by default under that build config it should have failed. Sorry about that Alexandre I will resend and fix up that build issue.
Davinci is ARM, so it will not be included in a x86 build.