Re: [PATCH] Input: soc_button_array: Remove kfree on data allocated with devm_zalloc

2014-07-25 Thread David Rientjes
On Fri, 25 Jul 2014, Sachin Kamat wrote:

> On Fri, Jul 25, 2014 at 12:39 PM,   wrote:
> > From: Pramod Gurav 
> >
> > This patch does below:
> > - Removes kfree done on data allocated with devm_zalloc in probe
> >   path of the driver.
> > - Adds a check on return value from devm_kzalloc which was missing
> >   and renames a lable from err_free_mem to err_mem.
> > - Adds couple of dev_err on failure to allocate memory
> >
> > CC: Dmitry Torokhov 
> > CC: Lejun Zhu 
> > CC: Sachin Kamat 
> >
> > Signed-off-by: Pramod Gurav 
> > ---
> >  drivers/input/misc/soc_button_array.c |   19 ++-
> >  1 file changed, 14 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/input/misc/soc_button_array.c 
> > b/drivers/input/misc/soc_button_array.c
> > index 5a6334b..ac82971 100644
> > --- a/drivers/input/misc/soc_button_array.c
> > +++ b/drivers/input/misc/soc_button_array.c
> > @@ -83,6 +83,13 @@ soc_button_device_create(struct pnp_dev *pdev,
> >sizeof(*gpio_keys_pdata) +
> > sizeof(*gpio_keys) * MAX_NBUTTONS,
> >GFP_KERNEL);
> > +   if (!gpio_keys_pdata) {
> > +   dev_err(>dev,
> > +   "Can't allocate memory for 
> > gpio_keys_platform_data\n");
> 
> OOM message is not needed as memory subsystem will take care of it.
> 

In the worst case, the memory subsystem will print that a process was 
killed for this allocation to succeed so it's never actually going to 
fail.  However, it is indeed frowed upon to print your own oom message so 
you're right that it should be removed.

Same comment about soc_button_pnp_probe().
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Input: soc_button_array: Remove kfree on data allocated with devm_zalloc

2014-07-25 Thread pramod gurav
Thanks Sachin for the review. Will resend the patch addressing your
review comments.

On Fri, Jul 25, 2014 at 1:59 PM, Sachin Kamat  wrote:
> On Fri, Jul 25, 2014 at 12:39 PM,   wrote:
>> From: Pramod Gurav 
>>
>> This patch does below:
>> - Removes kfree done on data allocated with devm_zalloc in probe
>>   path of the driver.
>> - Adds a check on return value from devm_kzalloc which was missing
>>   and renames a lable from err_free_mem to err_mem.
>> - Adds couple of dev_err on failure to allocate memory
>>
>> CC: Dmitry Torokhov 
>> CC: Lejun Zhu 
>> CC: Sachin Kamat 
>>
>> Signed-off-by: Pramod Gurav 
>> ---
>>  drivers/input/misc/soc_button_array.c |   19 ++-
>>  1 file changed, 14 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/input/misc/soc_button_array.c 
>> b/drivers/input/misc/soc_button_array.c
>> index 5a6334b..ac82971 100644
>> --- a/drivers/input/misc/soc_button_array.c
>> +++ b/drivers/input/misc/soc_button_array.c
>> @@ -83,6 +83,13 @@ soc_button_device_create(struct pnp_dev *pdev,
>>sizeof(*gpio_keys_pdata) +
>> sizeof(*gpio_keys) * MAX_NBUTTONS,
>>GFP_KERNEL);
>> +   if (!gpio_keys_pdata) {
>> +   dev_err(>dev,
>> +   "Can't allocate memory for 
>> gpio_keys_platform_data\n");
>
> OOM message is not needed as memory subsystem will take care of it.
>
>> +   error = -ENOMEM;
>> +   goto err_mem;
>
> Return directly from here.
>
>> +   }
>> +
>> gpio_keys = (void *)(gpio_keys_pdata + 1);
>>
>> for (info = button_info; info->name; info++) {
>> @@ -104,7 +111,7 @@ soc_button_device_create(struct pnp_dev *pdev,
>>
>> if (n_buttons == 0) {
>> error = -ENODEV;
>> -   goto err_free_mem;
>> +   goto err_mem;
>
> ditto
>
>> }
>>
>> gpio_keys_pdata->buttons = gpio_keys;
>> @@ -114,7 +121,7 @@ soc_button_device_create(struct pnp_dev *pdev,
>> pd = platform_device_alloc("gpio-keys", PLATFORM_DEVID_AUTO);
>> if (!pd) {
>> error = -ENOMEM;
>> -   goto err_free_mem;
>> +   goto err_mem;
>
> ditto
>
>> }
>>
>> error = platform_device_add_data(pd, gpio_keys_pdata,
>> @@ -130,8 +137,7 @@ soc_button_device_create(struct pnp_dev *pdev,
>>
>>  err_free_pdev:
>> platform_device_put(pd);
>> -err_free_mem:
>> -   devm_kfree(>dev, gpio_keys_pdata);
>> +err_mem:
>
> This label would not be required once returned directly from above.
>
>> return ERR_PTR(error);
>>  }
>>
>> @@ -155,8 +161,11 @@ static int soc_button_pnp_probe(struct pnp_dev *pdev,
>> int error;
>>
>> priv = devm_kzalloc(>dev, sizeof(*priv), GFP_KERNEL);
>> -   if (!priv)
>> +   if (!priv) {
>> +   dev_err(>dev,
>> +   "Can't allocate memory for soc_button_data\n");
>
> OOM message is not needed as memory subsystem will take care of it.
>
>
> --
> Regards,
> Sachin.



-- 
Thanks and Regards
Pramod
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Input: soc_button_array: Remove kfree on data allocated with devm_zalloc

2014-07-25 Thread Sachin Kamat
On Fri, Jul 25, 2014 at 12:39 PM,   wrote:
> From: Pramod Gurav 
>
> This patch does below:
> - Removes kfree done on data allocated with devm_zalloc in probe
>   path of the driver.
> - Adds a check on return value from devm_kzalloc which was missing
>   and renames a lable from err_free_mem to err_mem.
> - Adds couple of dev_err on failure to allocate memory
>
> CC: Dmitry Torokhov 
> CC: Lejun Zhu 
> CC: Sachin Kamat 
>
> Signed-off-by: Pramod Gurav 
> ---
>  drivers/input/misc/soc_button_array.c |   19 ++-
>  1 file changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/input/misc/soc_button_array.c 
> b/drivers/input/misc/soc_button_array.c
> index 5a6334b..ac82971 100644
> --- a/drivers/input/misc/soc_button_array.c
> +++ b/drivers/input/misc/soc_button_array.c
> @@ -83,6 +83,13 @@ soc_button_device_create(struct pnp_dev *pdev,
>sizeof(*gpio_keys_pdata) +
> sizeof(*gpio_keys) * MAX_NBUTTONS,
>GFP_KERNEL);
> +   if (!gpio_keys_pdata) {
> +   dev_err(>dev,
> +   "Can't allocate memory for 
> gpio_keys_platform_data\n");

OOM message is not needed as memory subsystem will take care of it.

> +   error = -ENOMEM;
> +   goto err_mem;

Return directly from here.

> +   }
> +
> gpio_keys = (void *)(gpio_keys_pdata + 1);
>
> for (info = button_info; info->name; info++) {
> @@ -104,7 +111,7 @@ soc_button_device_create(struct pnp_dev *pdev,
>
> if (n_buttons == 0) {
> error = -ENODEV;
> -   goto err_free_mem;
> +   goto err_mem;

ditto

> }
>
> gpio_keys_pdata->buttons = gpio_keys;
> @@ -114,7 +121,7 @@ soc_button_device_create(struct pnp_dev *pdev,
> pd = platform_device_alloc("gpio-keys", PLATFORM_DEVID_AUTO);
> if (!pd) {
> error = -ENOMEM;
> -   goto err_free_mem;
> +   goto err_mem;

ditto

> }
>
> error = platform_device_add_data(pd, gpio_keys_pdata,
> @@ -130,8 +137,7 @@ soc_button_device_create(struct pnp_dev *pdev,
>
>  err_free_pdev:
> platform_device_put(pd);
> -err_free_mem:
> -   devm_kfree(>dev, gpio_keys_pdata);
> +err_mem:

This label would not be required once returned directly from above.

> return ERR_PTR(error);
>  }
>
> @@ -155,8 +161,11 @@ static int soc_button_pnp_probe(struct pnp_dev *pdev,
> int error;
>
> priv = devm_kzalloc(>dev, sizeof(*priv), GFP_KERNEL);
> -   if (!priv)
> +   if (!priv) {
> +   dev_err(>dev,
> +   "Can't allocate memory for soc_button_data\n");

OOM message is not needed as memory subsystem will take care of it.


-- 
Regards,
Sachin.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Input: soc_button_array: Remove kfree on data allocated with devm_zalloc

2014-07-25 Thread Sachin Kamat
On Fri, Jul 25, 2014 at 12:39 PM,  pramod.gurav@gmail.com wrote:
 From: Pramod Gurav pramod.gu...@smartplayin.com

 This patch does below:
 - Removes kfree done on data allocated with devm_zalloc in probe
   path of the driver.
 - Adds a check on return value from devm_kzalloc which was missing
   and renames a lable from err_free_mem to err_mem.
 - Adds couple of dev_err on failure to allocate memory

 CC: Dmitry Torokhov dmitry.torok...@gmail.com
 CC: Lejun Zhu lejun@linux.intel.com
 CC: Sachin Kamat sachin.ka...@linaro.org

 Signed-off-by: Pramod Gurav pramod.gu...@smartplayin.com
 ---
  drivers/input/misc/soc_button_array.c |   19 ++-
  1 file changed, 14 insertions(+), 5 deletions(-)

 diff --git a/drivers/input/misc/soc_button_array.c 
 b/drivers/input/misc/soc_button_array.c
 index 5a6334b..ac82971 100644
 --- a/drivers/input/misc/soc_button_array.c
 +++ b/drivers/input/misc/soc_button_array.c
 @@ -83,6 +83,13 @@ soc_button_device_create(struct pnp_dev *pdev,
sizeof(*gpio_keys_pdata) +
 sizeof(*gpio_keys) * MAX_NBUTTONS,
GFP_KERNEL);
 +   if (!gpio_keys_pdata) {
 +   dev_err(pdev-dev,
 +   Can't allocate memory for 
 gpio_keys_platform_data\n);

OOM message is not needed as memory subsystem will take care of it.

 +   error = -ENOMEM;
 +   goto err_mem;

Return directly from here.

 +   }
 +
 gpio_keys = (void *)(gpio_keys_pdata + 1);

 for (info = button_info; info-name; info++) {
 @@ -104,7 +111,7 @@ soc_button_device_create(struct pnp_dev *pdev,

 if (n_buttons == 0) {
 error = -ENODEV;
 -   goto err_free_mem;
 +   goto err_mem;

ditto

 }

 gpio_keys_pdata-buttons = gpio_keys;
 @@ -114,7 +121,7 @@ soc_button_device_create(struct pnp_dev *pdev,
 pd = platform_device_alloc(gpio-keys, PLATFORM_DEVID_AUTO);
 if (!pd) {
 error = -ENOMEM;
 -   goto err_free_mem;
 +   goto err_mem;

ditto

 }

 error = platform_device_add_data(pd, gpio_keys_pdata,
 @@ -130,8 +137,7 @@ soc_button_device_create(struct pnp_dev *pdev,

  err_free_pdev:
 platform_device_put(pd);
 -err_free_mem:
 -   devm_kfree(pdev-dev, gpio_keys_pdata);
 +err_mem:

This label would not be required once returned directly from above.

 return ERR_PTR(error);
  }

 @@ -155,8 +161,11 @@ static int soc_button_pnp_probe(struct pnp_dev *pdev,
 int error;

 priv = devm_kzalloc(pdev-dev, sizeof(*priv), GFP_KERNEL);
 -   if (!priv)
 +   if (!priv) {
 +   dev_err(pdev-dev,
 +   Can't allocate memory for soc_button_data\n);

OOM message is not needed as memory subsystem will take care of it.


-- 
Regards,
Sachin.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Input: soc_button_array: Remove kfree on data allocated with devm_zalloc

2014-07-25 Thread pramod gurav
Thanks Sachin for the review. Will resend the patch addressing your
review comments.

On Fri, Jul 25, 2014 at 1:59 PM, Sachin Kamat spk.li...@gmail.com wrote:
 On Fri, Jul 25, 2014 at 12:39 PM,  pramod.gurav@gmail.com wrote:
 From: Pramod Gurav pramod.gu...@smartplayin.com

 This patch does below:
 - Removes kfree done on data allocated with devm_zalloc in probe
   path of the driver.
 - Adds a check on return value from devm_kzalloc which was missing
   and renames a lable from err_free_mem to err_mem.
 - Adds couple of dev_err on failure to allocate memory

 CC: Dmitry Torokhov dmitry.torok...@gmail.com
 CC: Lejun Zhu lejun@linux.intel.com
 CC: Sachin Kamat sachin.ka...@linaro.org

 Signed-off-by: Pramod Gurav pramod.gu...@smartplayin.com
 ---
  drivers/input/misc/soc_button_array.c |   19 ++-
  1 file changed, 14 insertions(+), 5 deletions(-)

 diff --git a/drivers/input/misc/soc_button_array.c 
 b/drivers/input/misc/soc_button_array.c
 index 5a6334b..ac82971 100644
 --- a/drivers/input/misc/soc_button_array.c
 +++ b/drivers/input/misc/soc_button_array.c
 @@ -83,6 +83,13 @@ soc_button_device_create(struct pnp_dev *pdev,
sizeof(*gpio_keys_pdata) +
 sizeof(*gpio_keys) * MAX_NBUTTONS,
GFP_KERNEL);
 +   if (!gpio_keys_pdata) {
 +   dev_err(pdev-dev,
 +   Can't allocate memory for 
 gpio_keys_platform_data\n);

 OOM message is not needed as memory subsystem will take care of it.

 +   error = -ENOMEM;
 +   goto err_mem;

 Return directly from here.

 +   }
 +
 gpio_keys = (void *)(gpio_keys_pdata + 1);

 for (info = button_info; info-name; info++) {
 @@ -104,7 +111,7 @@ soc_button_device_create(struct pnp_dev *pdev,

 if (n_buttons == 0) {
 error = -ENODEV;
 -   goto err_free_mem;
 +   goto err_mem;

 ditto

 }

 gpio_keys_pdata-buttons = gpio_keys;
 @@ -114,7 +121,7 @@ soc_button_device_create(struct pnp_dev *pdev,
 pd = platform_device_alloc(gpio-keys, PLATFORM_DEVID_AUTO);
 if (!pd) {
 error = -ENOMEM;
 -   goto err_free_mem;
 +   goto err_mem;

 ditto

 }

 error = platform_device_add_data(pd, gpio_keys_pdata,
 @@ -130,8 +137,7 @@ soc_button_device_create(struct pnp_dev *pdev,

  err_free_pdev:
 platform_device_put(pd);
 -err_free_mem:
 -   devm_kfree(pdev-dev, gpio_keys_pdata);
 +err_mem:

 This label would not be required once returned directly from above.

 return ERR_PTR(error);
  }

 @@ -155,8 +161,11 @@ static int soc_button_pnp_probe(struct pnp_dev *pdev,
 int error;

 priv = devm_kzalloc(pdev-dev, sizeof(*priv), GFP_KERNEL);
 -   if (!priv)
 +   if (!priv) {
 +   dev_err(pdev-dev,
 +   Can't allocate memory for soc_button_data\n);

 OOM message is not needed as memory subsystem will take care of it.


 --
 Regards,
 Sachin.



-- 
Thanks and Regards
Pramod
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Input: soc_button_array: Remove kfree on data allocated with devm_zalloc

2014-07-25 Thread David Rientjes
On Fri, 25 Jul 2014, Sachin Kamat wrote:

 On Fri, Jul 25, 2014 at 12:39 PM,  pramod.gurav@gmail.com wrote:
  From: Pramod Gurav pramod.gu...@smartplayin.com
 
  This patch does below:
  - Removes kfree done on data allocated with devm_zalloc in probe
path of the driver.
  - Adds a check on return value from devm_kzalloc which was missing
and renames a lable from err_free_mem to err_mem.
  - Adds couple of dev_err on failure to allocate memory
 
  CC: Dmitry Torokhov dmitry.torok...@gmail.com
  CC: Lejun Zhu lejun@linux.intel.com
  CC: Sachin Kamat sachin.ka...@linaro.org
 
  Signed-off-by: Pramod Gurav pramod.gu...@smartplayin.com
  ---
   drivers/input/misc/soc_button_array.c |   19 ++-
   1 file changed, 14 insertions(+), 5 deletions(-)
 
  diff --git a/drivers/input/misc/soc_button_array.c 
  b/drivers/input/misc/soc_button_array.c
  index 5a6334b..ac82971 100644
  --- a/drivers/input/misc/soc_button_array.c
  +++ b/drivers/input/misc/soc_button_array.c
  @@ -83,6 +83,13 @@ soc_button_device_create(struct pnp_dev *pdev,
 sizeof(*gpio_keys_pdata) +
  sizeof(*gpio_keys) * MAX_NBUTTONS,
 GFP_KERNEL);
  +   if (!gpio_keys_pdata) {
  +   dev_err(pdev-dev,
  +   Can't allocate memory for 
  gpio_keys_platform_data\n);
 
 OOM message is not needed as memory subsystem will take care of it.
 

In the worst case, the memory subsystem will print that a process was 
killed for this allocation to succeed so it's never actually going to 
fail.  However, it is indeed frowed upon to print your own oom message so 
you're right that it should be removed.

Same comment about soc_button_pnp_probe().
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/