diff mbox

Obsolete Bug in file drivers/mfd/pcf50633-core.c

Message ID 20140623084741.GC8847@lee--X1
State New
Headers show

Commit Message

Lee Jones June 23, 2014, 8:47 a.m. UTC
On Fri, 20 Jun 2014, Nick Krause wrote:
> There seems to be a obsolete bug in this file that has been reported about
> a NULL
> check for  platform_device_add_data() in function pcf50633_probe(). This
> bug seems
> to be fixed by the lines I wrote in my comment on Bugzilla. The attached
> link should
> give you an idea of if closing this bug is a good idea.
>  https://bugzilla.kernel.org/show_bug.cgi?id=78521
> <https://bugzilla.kernel.org/show_bug.cgi?id=78521>
> Thanks Nick

This bug was fixed by Alan Cox 2 years ago:

commit 18273c5b463d9f98ef81f1a6217a7f4168dd809a
Author: Alan Cox <alan@lxorguk.ukuu.org.uk>
Date:   Fri Jul 13 16:43:32 2012 +0100

    mfd: Add missing out of memory check for pcf50633
    
    Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44561
    Reported-by: <rucsoftsec@gmail.com>
    Cc: Lars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: Alan Cox <alan@linux.intel.com>
    Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

Comments

Nick June 25, 2014, 2:32 a.m. UTC | #1
Thanks Lee Jones ,
It's great to known that people are happy to clean up the
fixed bugs still open on Bugzilla.
Cheers Nick


On Mon, Jun 23, 2014 at 4:47 AM, Lee Jones <lee.jones@linaro.org> wrote:
> On Fri, 20 Jun 2014, Nick Krause wrote:
>> There seems to be a obsolete bug in this file that has been reported about
>> a NULL
>> check for  platform_device_add_data() in function pcf50633_probe(). This
>> bug seems
>> to be fixed by the lines I wrote in my comment on Bugzilla. The attached
>> link should
>> give you an idea of if closing this bug is a good idea.
>>  https://bugzilla.kernel.org/show_bug.cgi?id=78521
>> <https://bugzilla.kernel.org/show_bug.cgi?id=78521>
>> Thanks Nick
>
> This bug was fixed by Alan Cox 2 years ago:
>
> commit 18273c5b463d9f98ef81f1a6217a7f4168dd809a
> Author: Alan Cox <alan@lxorguk.ukuu.org.uk>
> Date:   Fri Jul 13 16:43:32 2012 +0100
>
>     mfd: Add missing out of memory check for pcf50633
>
>     Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44561
>     Reported-by: <rucsoftsec@gmail.com>
>     Cc: Lars-Peter Clausen <lars@metafoo.de>
>     Signed-off-by: Alan Cox <alan@linux.intel.com>
>     Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
>
> diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
> index 29c122b..45ce1fb 100644
> --- a/drivers/mfd/pcf50633-core.c
> +++ b/drivers/mfd/pcf50633-core.c
> @@ -253,8 +253,13 @@ static int __devinit pcf50633_probe(struct i2c_client *client,
>                 }
>
>                 pdev->dev.parent = pcf->dev;
> -               platform_device_add_data(pdev, &pdata->reg_init_data[i],
> -                                       sizeof(pdata->reg_init_data[i]));
> +               if (platform_device_add_data(pdev, &pdata->reg_init_data[i],
> +                                       sizeof(pdata->reg_init_data[i])) < 0) {
> +                       platform_device_put(pdev);
> +                       dev_err(pcf->dev, "Out of memory for regulator parameters %d\n",
> +                                                                       i);
> +                       continue;
> +               }
>                 pcf->regulator_pdev[i] = pdev;
>
>                 platform_device_add(pdev);
>
>
> --
> Lee Jones
> Linaro STMicroelectronics Landing Team Lead
> Linaro.org │ Open source software for ARM SoCs
> Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
diff mbox

Patch

diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
index 29c122b..45ce1fb 100644
--- a/drivers/mfd/pcf50633-core.c
+++ b/drivers/mfd/pcf50633-core.c
@@ -253,8 +253,13 @@  static int __devinit pcf50633_probe(struct i2c_client *client,
                }
 
                pdev->dev.parent = pcf->dev;
-               platform_device_add_data(pdev, &pdata->reg_init_data[i],
-                                       sizeof(pdata->reg_init_data[i]));
+               if (platform_device_add_data(pdev, &pdata->reg_init_data[i],
+                                       sizeof(pdata->reg_init_data[i])) < 0) {
+                       platform_device_put(pdev);
+                       dev_err(pcf->dev, "Out of memory for regulator parameters %d\n",
+                                                                       i);
+                       continue;
+               }
                pcf->regulator_pdev[i] = pdev;
 
                platform_device_add(pdev);