diff options
author | Huang Shijie <b32955@freescale.com> | 2010-11-22 11:31:47 +0800 |
---|---|---|
committer | Huang Shijie <b32955@freescale.com> | 2010-11-22 11:31:47 +0800 |
commit | f7a3a289b6a38d1c0fa103e19a7a0d895e782ef9 (patch) | |
tree | fe8837cd6e138d4fa2040e9b31295c45c1eb8f8a /drivers | |
parent | fe1582357b34a79acce16d39be8d40339a0399c9 (diff) |
ENGR00133908 NAND : fix the wrong size for memcpy in mil_ecc_write_page()
The buffer mil->auxiliary_virt only have nfc_goe->auxiliary_size_in_bytes bytes
in size which is mostly very small(e.g 10 + 8).
But the mtd->oobsize maybe more then one hundred. So the memcpy is overflow.
Signed-off-by: Huang Shijie <b32955@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/nand/gpmi-nfc/gpmi-nfc-mil.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mtd/nand/gpmi-nfc/gpmi-nfc-mil.c b/drivers/mtd/nand/gpmi-nfc/gpmi-nfc-mil.c index 9dfd76edc5f4..5774e27c372f 100644 --- a/drivers/mtd/nand/gpmi-nfc/gpmi-nfc-mil.c +++ b/drivers/mtd/nand/gpmi-nfc/gpmi-nfc-mil.c @@ -764,7 +764,8 @@ static void mil_ecc_write_page(struct mtd_info *mtd, payload_virt = mil->payload_virt; payload_phys = mil->payload_phys; - memcpy(mil->auxiliary_virt, nand->oob_poi, mtd->oobsize); + memcpy(mil->auxiliary_virt, nand->oob_poi, + nfc_geo->auxiliary_size_in_bytes); auxiliary_virt = mil->auxiliary_virt; auxiliary_phys = mil->auxiliary_phys; |