52 lines
1.5 KiB
Diff
52 lines
1.5 KiB
Diff
From 5d15281ca712cb873835e301937f3a8342e88d4b Mon Sep 17 00:00:00 2001
|
|
From: Brian Norris <computersforpeace@gmail.com>
|
|
Date: Mon, 16 Sep 2013 17:59:20 -0700
|
|
Subject: [PATCH 095/203] mtd: nand: fix memory leak in ONFI extended parameter
|
|
page
|
|
|
|
This fixes a memory leak in the ONFI support code for detecting the
|
|
required ECC levels from this commit:
|
|
|
|
commit 6dcbe0cdd83fb5f77be4f44c9e06c535281c375a
|
|
Author: Huang Shijie <b32955@freescale.com>
|
|
Date: Wed May 22 10:28:27 2013 +0800
|
|
|
|
mtd: get the ECC info from the Extended Parameter Page
|
|
|
|
In the success case, we never freed the 'ep' buffer.
|
|
|
|
Also, this fixes an oversight in the same commit where we (harmlessly)
|
|
freed the NULL pointer.
|
|
|
|
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
|
|
Acked-by: Huang Shijie <b32955@freescale.com>
|
|
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
|
|
---
|
|
drivers/mtd/nand/nand_base.c | 8 +++-----
|
|
1 file changed, 3 insertions(+), 5 deletions(-)
|
|
|
|
--- a/drivers/mtd/nand/nand_base.c
|
|
+++ b/drivers/mtd/nand/nand_base.c
|
|
@@ -2862,10 +2862,8 @@ static int nand_flash_detect_ext_param_p
|
|
|
|
len = le16_to_cpu(p->ext_param_page_length) * 16;
|
|
ep = kmalloc(len, GFP_KERNEL);
|
|
- if (!ep) {
|
|
- ret = -ENOMEM;
|
|
- goto ext_out;
|
|
- }
|
|
+ if (!ep)
|
|
+ return -ENOMEM;
|
|
|
|
/* Send our own NAND_CMD_PARAM. */
|
|
chip->cmdfunc(mtd, NAND_CMD_PARAM, 0, -1);
|
|
@@ -2913,7 +2911,7 @@ static int nand_flash_detect_ext_param_p
|
|
}
|
|
|
|
pr_info("ONFI extended param page detected.\n");
|
|
- return 0;
|
|
+ ret = 0;
|
|
|
|
ext_out:
|
|
kfree(ep);
|