2011-06-03 05:14:19

by Axel Lin

[permalink] [raw]
Subject: [PATCH 1/2] mtd: pxa3xx_nand: fix a memory leak

In pxa3xx_nand_remove, we should call nand_release instead of
mtd_device_unregister to properly free bad block table memory
and bad block descriptor memory.

Signed-off-by: Axel Lin <[email protected]>
---
drivers/mtd/nand/pxa3xx_nand.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index 1fb3b3a..f7040ea 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1119,7 +1119,7 @@ static int pxa3xx_nand_remove(struct platform_device *pdev)
clk_put(info->clk);

if (mtd) {
- mtd_device_unregister(mtd);
+ nand_release(mtd);
kfree(mtd);
}
return 0;
--
1.7.4.1



2011-06-03 05:15:36

by Axel Lin

[permalink] [raw]
Subject: [PATCH 2/2] mtd: fsmc_nand: fix a memory leak

In fsmc_nand_remove, we should call nand_release instead of
mtd_device_unregister to properly free bad block table memory
and bad block descriptor memory.

Signed-off-by: Axel Lin <[email protected]>
---
drivers/mtd/nand/fsmc_nand.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mtd/nand/fsmc_nand.c b/drivers/mtd/nand/fsmc_nand.c
index e9b275a..8a5f1aa 100644
--- a/drivers/mtd/nand/fsmc_nand.c
+++ b/drivers/mtd/nand/fsmc_nand.c
@@ -822,7 +822,7 @@ static int fsmc_nand_remove(struct platform_device *pdev)
platform_set_drvdata(pdev, NULL);

if (host) {
- mtd_device_unregister(&host->mtd);
+ nand_release(&host->mtd);
clk_disable(host->clk);
clk_put(host->clk);

--
1.7.4.1


2011-06-03 13:02:10

by Daniel Mack

[permalink] [raw]
Subject: Re: [PATCH 1/2] mtd: pxa3xx_nand: fix a memory leak

(Cc Lei Wen)

On Fri, Jun 3, 2011 at 7:14 AM, Axel Lin <[email protected]> wrote:
> In pxa3xx_nand_remove, we should call nand_release instead of
> mtd_device_unregister to properly free bad block table memory
> and bad block descriptor memory.
>
> Signed-off-by: Axel Lin <[email protected]>
> ---
> ?drivers/mtd/nand/pxa3xx_nand.c | ? ?2 +-
> ?1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> index 1fb3b3a..f7040ea 100644
> --- a/drivers/mtd/nand/pxa3xx_nand.c
> +++ b/drivers/mtd/nand/pxa3xx_nand.c
> @@ -1119,7 +1119,7 @@ static int pxa3xx_nand_remove(struct platform_device *pdev)
> ? ? ? ?clk_put(info->clk);
>
> ? ? ? ?if (mtd) {
> - ? ? ? ? ? ? ? mtd_device_unregister(mtd);
> + ? ? ? ? ? ? ? nand_release(mtd);
> ? ? ? ? ? ? ? ?kfree(mtd);
> ? ? ? ?}
> ? ? ? ?return 0;
> --
> 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/
>

2011-06-03 15:58:07

by Lei Wen

[permalink] [raw]
Subject: Re: [PATCH 1/2] mtd: pxa3xx_nand: fix a memory leak

On Fri, Jun 3, 2011 at 9:02 PM, Daniel Mack <[email protected]> wrote:
> (Cc Lei Wen)
>
> On Fri, Jun 3, 2011 at 7:14 AM, Axel Lin <[email protected]> wrote:
>> In pxa3xx_nand_remove, we should call nand_release instead of
>> mtd_device_unregister to properly free bad block table memory
>> and bad block descriptor memory.
>>
>> Signed-off-by: Axel Lin <[email protected]>
>> ---
>> ?drivers/mtd/nand/pxa3xx_nand.c | ? ?2 +-
>> ?1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
>> index 1fb3b3a..f7040ea 100644
>> --- a/drivers/mtd/nand/pxa3xx_nand.c
>> +++ b/drivers/mtd/nand/pxa3xx_nand.c
>> @@ -1119,7 +1119,7 @@ static int pxa3xx_nand_remove(struct platform_device *pdev)
>> ? ? ? ?clk_put(info->clk);
>>
>> ? ? ? ?if (mtd) {
>> - ? ? ? ? ? ? ? mtd_device_unregister(mtd);
>> + ? ? ? ? ? ? ? nand_release(mtd);
>> ? ? ? ? ? ? ? ?kfree(mtd);
>> ? ? ? ?}
>> ? ? ? ?return 0;
>> --
>> 1.7.4.1
>>

Acked-by: Lei Wen <[email protected]>

2011-06-06 10:24:17

by Artem Bityutskiy

[permalink] [raw]
Subject: Re: [PATCH 1/2] mtd: pxa3xx_nand: fix a memory leak

On Fri, 2011-06-03 at 13:14 +0800, Axel Lin wrote:
> In pxa3xx_nand_remove, we should call nand_release instead of
> mtd_device_unregister to properly free bad block table memory
> and bad block descriptor memory.
>
> Signed-off-by: Axel Lin <[email protected]>

Pushed to l2-mtd-2.6.git, thanks!

--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)