From: Chanwoo Choi <cw00.choi@samsung.com>
To: myungjoo.ham@samsung.com, Kyungmin Park <kyungmin.park@samsung.com>
Cc: "rafael.j.wysocki@intel.com" <rafael.j.wysocki@intel.com>,
"chanwoo@kernel.org" <chanwoo@kernel.org>,
Inki Dae <inki.dae@samsung.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: Re: [PATCH 01/12] PM / devfreq: Fix memory leak when fail to register device
Date: Mon, 28 Aug 2017 09:23:00 +0900 [thread overview]
Message-ID: <59A36264.4030605@samsung.com> (raw)
In-Reply-To: <20170828001753epcms1p658026b4f636aa4c0aee6f22bc128ebe3@epcms1p6>
On 2017년 08월 28일 09:17, MyungJoo Ham wrote:
>> When the devfreq_add_device fails to register deivce, the memory
>> leak of devfreq instance happen. So, this patch fix the memory
>> leak issue. Before freeing the devfreq instance checks whether
>> devfreq instance is NULL or not because the device_unregister()
>> frees the devfreq instance when jumping to the 'err_init'.
>> It is to prevent the duplicate the kfee(devfreq).
>>
>> Cc: stable@vger.kernel.org
>> Fixes: ac4b281176a5 ("PM / devfreq: fix duplicated kfree on devfreq pointer")
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> ---
>> drivers/devfreq/devfreq.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> This looks like to be duplicated. Please check your repo basis.
These patches is based on the v4.13-rc6.
After merged ("PM / devfreq: fix duplicated kfree on devfreq pointer"),
this patch doesn't consider the free of memory when error case.
After applying this patch, this patch consider the error case
when jumping the err_dev statement with goto.
device_unregister(&devfreq->dev);
err_dev:
if (devfreq)
kfree(devfreq);
>
>
> Cheers,
> MyungJoo
>
>>
>> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
>> index dea04871b50d..a1c4ee818614 100644
>> --- a/drivers/devfreq/devfreq.c
>> +++ b/drivers/devfreq/devfreq.c
>> @@ -564,7 +564,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
>> err = device_register(&devfreq->dev);
>> if (err) {
>> mutex_unlock(&devfreq->lock);
>> - goto err_out;
>> + goto err_dev;
>> }
>>
>> devfreq->trans_table = devm_kzalloc(&devfreq->dev,
>> @@ -610,6 +610,9 @@ struct devfreq *devfreq_add_device(struct device *dev,
>> mutex_unlock(&devfreq_list_lock);
>>
>> device_unregister(&devfreq->dev);
>> +err_dev:
>> + if (devfreq)
>> + kfree(devfreq);
>> err_out:
>> return ERR_PTR(err);
>> }
>> --
>> 1.9.1
>
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
next prev parent reply other threads:[~2017-08-28 0:23 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20170824014259epcas2p398a53a9a76d9aff7e35cf8515ec4e46a@epcas2p3.samsung.com>
[not found] ` <1503538979-22693-1-git-send-email-cw00.choi@samsung.com>
2017-08-24 1:42 ` [PATCH 01/12] PM / devfreq: Fix memory leak when fail to register device Chanwoo Choi
2017-08-28 0:17 ` MyungJoo Ham
2017-08-28 0:23 ` Chanwoo Choi [this message]
2017-08-28 1:30 ` MyungJoo Ham
2017-08-24 1:42 ` [PATCH 02/12] PM / devfreq: Fix locking range for making the frequency table Chanwoo Choi
2017-08-28 0:25 ` MyungJoo Ham
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=59A36264.4030605@samsung.com \
--to=cw00.choi@samsung.com \
--cc=chanwoo@kernel.org \
--cc=inki.dae@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=myungjoo.ham@samsung.com \
--cc=rafael.j.wysocki@intel.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox