Messages in this thread | | | Date | Wed, 21 Oct 2015 08:27:56 +0000 (GMT) | From | MyungJoo Ham <> | Subject | Re: Re: [PATCH] devfreq: correctly check failed allocation |
| |
>On Mon, Oct 19, 2015 at 8:49 PM, MyungJoo Ham <myungjoo.ham@samsung.com> wrote: > >>Since devm_kzalloc can be failed in memory pressure, > >check return value and handle error. > > > >Signed-off-by: Insu Yun <wuninsu@gmail.com> > >--- >> 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
| |