Re: [PATCH] davinci:Fix possible NULL pointer deference in the function davinci_gpio_probe

From: Alexandre Courbot
Date: Tue Feb 02 2016 - 19:27:58 EST


On Wed, Feb 3, 2016 at 9:10 AM, nick <xerofoify@xxxxxxxxx> wrote:
>
>
> On 2016-02-02 06:30 PM, Alexandre Courbot wrote:
>> 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?
>>
> 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.