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