Re: [PATCH] PM / devfreq: fix double kfree
From: MyungJoo Ham
Date: Thu Oct 01 2015 - 22:12:04 EST
> When device_register() fails, kfree(devfreq) is called already in
> devfreq_dev_release(), hence there is no need to call kfree(devfreq)
> in err_dev again.
>
> Signed-off-by: Geliang Tang <geliangtang@xxxxxxx>
Thank you for pointing out that put_device() will eventually call kfree anyway.
Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
Cheers,
MyungJoo
> ---
> drivers/devfreq/devfreq.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> index 3927ed9..9b352da 100644
> --- a/drivers/devfreq/devfreq.c
> +++ b/drivers/devfreq/devfreq.c
> @@ -492,7 +492,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
> if (err) {
> put_device(&devfreq->dev);
> mutex_unlock(&devfreq->lock);
> - goto err_dev;
> + goto err_out;
> }
>
> mutex_unlock(&devfreq->lock);
> @@ -518,7 +518,6 @@ struct devfreq *devfreq_add_device(struct device *dev,
> err_init:
> list_del(&devfreq->node);
> device_unregister(&devfreq->dev);
> -err_dev:
> kfree(devfreq);
> err_out:
> return ERR_PTR(err);
> --
> 2.5.0
N§²æ¸yú²X¬¶ÇvØ)Þ{.nÇ·¥{±êX§¶¡Ü}©²ÆzÚj:+v¨¾«êZ+Êzf£¢·h§~Ûÿû®w¥¢¸?¨è&¢)ßfùy§m
á«a¶Úÿ0¶ìå