2012-11-22 20:29:54

by Tushar Behera

[permalink] [raw]
Subject: [PATCH] watchdog: da9052: Fix invalid free of devm_ allocated data

It is not required to free devm_ allocated data. Since kref_put
needs a valid release function, da9052_wdt_release_resources()
is not deleted.

Fixes following warning.
drivers/watchdog/da9052_wdt.c:59:1-6: WARNING: invalid free of
devm_ allocated data

Signed-off-by: Tushar Behera <[email protected]>
---
drivers/watchdog/da9052_wdt.c | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/da9052_wdt.c b/drivers/watchdog/da9052_wdt.c
index f7abbae..20071de 100644
--- a/drivers/watchdog/da9052_wdt.c
+++ b/drivers/watchdog/da9052_wdt.c
@@ -53,10 +53,6 @@ static const struct {

static void da9052_wdt_release_resources(struct kref *r)
{
- struct da9052_wdt_data *driver_data =
- container_of(r, struct da9052_wdt_data, kref);
-
- kfree(driver_data);
}

static int da9052_wdt_set_timeout(struct watchdog_device *wdt_dev,
--
1.7.4.1


2012-11-26 13:01:59

by Shubhrajyoti Datta

[permalink] [raw]
Subject: Re: [PATCH] watchdog: da9052: Fix invalid free of devm_ allocated data

On Thu, Nov 22, 2012 at 10:13 AM, Tushar Behera
<[email protected]> wrote:
> It is not required to free devm_ allocated data. Since kref_put
> needs a valid release function, da9052_wdt_release_resources()
> is not deleted.
>
> Fixes following warning.
> drivers/watchdog/da9052_wdt.c:59:1-6: WARNING: invalid free of
> devm_ allocated data
>
> Signed-off-by: Tushar Behera <[email protected]>
> ---
> drivers/watchdog/da9052_wdt.c | 4 ----
> 1 files changed, 0 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/watchdog/da9052_wdt.c b/drivers/watchdog/da9052_wdt.c
> index f7abbae..20071de 100644
> --- a/drivers/watchdog/da9052_wdt.c
> +++ b/drivers/watchdog/da9052_wdt.c
> @@ -53,10 +53,6 @@ static const struct {
>
> static void da9052_wdt_release_resources(struct kref *r)
> {
> - struct da9052_wdt_data *driver_data =
> - container_of(r, struct da9052_wdt_data, kref);
> -
> - kfree(driver_data);

However now the function will be empty right?


> }
>
> static int da9052_wdt_set_timeout(struct watchdog_device *wdt_dev,
> --
> 1.7.4.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2012-11-27 05:28:59

by Tushar Behera

[permalink] [raw]
Subject: Re: [PATCH] watchdog: da9052: Fix invalid free of devm_ allocated data

On 11/26/2012 06:31 PM, Shubhrajyoti Datta wrote:
> On Thu, Nov 22, 2012 at 10:13 AM, Tushar Behera
> <[email protected]> wrote:
>> It is not required to free devm_ allocated data. Since kref_put
>> needs a valid release function, da9052_wdt_release_resources()
>> is not deleted.
>>
>> Fixes following warning.
>> drivers/watchdog/da9052_wdt.c:59:1-6: WARNING: invalid free of
>> devm_ allocated data
>>
>> Signed-off-by: Tushar Behera <[email protected]>
>> ---
>> drivers/watchdog/da9052_wdt.c | 4 ----
>> 1 files changed, 0 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/watchdog/da9052_wdt.c b/drivers/watchdog/da9052_wdt.c
>> index f7abbae..20071de 100644
>> --- a/drivers/watchdog/da9052_wdt.c
>> +++ b/drivers/watchdog/da9052_wdt.c
>> @@ -53,10 +53,6 @@ static const struct {
>>
>> static void da9052_wdt_release_resources(struct kref *r)
>> {
>> - struct da9052_wdt_data *driver_data =
>> - container_of(r, struct da9052_wdt_data, kref);
>> -
>> - kfree(driver_data);
>
> However now the function will be empty right?
>
>

Yes, the function would be empty now. It is kept just to avoid the
run-time warning.

>> }
>>
>> static int da9052_wdt_set_timeout(struct watchdog_device *wdt_dev,
>> --
>> 1.7.4.1
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/


--
Tushar Behera