Re: Re: [PATCH] devfreq: correctly check failed allocation

From: MyungJoo Ham
Date: Wed Oct 21 2015 - 04:28:09 EST


>On Mon, Oct 19, 2015 at 8:49 PM, MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> wrote:
>
>>Since devm_kzalloc can be failed in memory pressure,
> >check return value and handle error.
> >
> >Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx>
> >---
>> drivers/devfreq/devfreq.c | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> >diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> >index ca1b362..814089f 100644
> >--- a/drivers/devfreq/devfreq.c
> >+++ b/drivers/devfreq/devfreq.c
> >@@ -482,9 +482,23 @@ struct devfreq *devfreq_add_device(struct device *dev,
> > devfreq->profile->max_state *
> > devfreq->profile->max_state,
> > GFP_KERNEL);
> >+ if (!devfreq->trans_table) {
> >+ dev_err(dev, "%s: Unable to create transition table for the device\n",
> >+ __func__);
> >+ err = -ENOMEM;
> >+ goto err_dev;
> >+ }
> >+
>
> I don't see a label 'err_dev' in devfreq.c
> And please note that you are under a mutex lock here as well; you must unlock it before returning.
>Oh, I think I need to unlock.
>
> For devfreq.c of most recent release candidate, please refer to
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/devfreq/devfreq.c?id=7379047d5585187d1288486d4627873170d0005a
>
>Sorry I used older version of linux. I will resend patch for current version.
>
> You don't seem to be based on a recent RC as well.
>
>I cannot understand what RC means.
>

It's Release Candidate. Please refer to the git tags in the repo.

>
>And question is that, when device_register fails, it returns without freeing devfreq. Is it fine?

We have a "release" callback defined for the struct device registered
with device_register(), which is called when that happens.


Cheers,
MyungJoo

N‹§²æ¸›yú²X¬¶ÇvØ–)Þ{.nlj·¥Š{±‘êX§¶›¡Ü}©ž²ÆzÚj:+v‰¨¾«‘êZ+€Êzf£¢·hšˆ§~†­†Ûÿû®w¥¢¸?™¨è&¢)ßf”ùy§m…á«a¶Úÿ 0¶ìå