[U-Boot-Users] [PATCH] Bug fix / safty measure for cfi_flash.c

Without this additional check a flash that was defined in the config file with different size then the one reported by the flash chip itself. will cause array overrun and crash.
the additional CONFIG_FORCE_FLASH_BANK_SIZE allows to set the size ignoring the chip actual size
Signed-off-by: Eran Liberty
diff -x .svn -Nuar u-boot.git-5ffa76a032279bc6d3230b703eda32d13305ba13/drivers/cfi_flash.c u-boot.exsw6000/drivers/cfi_flash.c --- u-boot.git-5ffa76a032279bc6d3230b703eda32d13305ba13/drivers/cfi_flash.c 2007-06-18 22:38:46.000000000 +0300 +++ u-boot.exsw6000/drivers/cfi_flash.c 2007-06-20 19:05:01.000000000 +0300 @@ -1281,7 +1281,7 @@ erase_region_count = (tmp & 0xffff) + 1; debug ("erase_region_count = %d erase_region_size = %d\n", erase_region_count, erase_region_size); - for (j = 0; j < erase_region_count; j++) { + for (j = 0; j < erase_region_count && sect_cnt < CFG_MAX_FLASH_SECT; j++) { info->start[sect_cnt] = sector; sector += (erase_region_size * size_ratio);
@@ -1323,6 +1323,9 @@ }
flash_write_cmd (info, 0, 0, info->cmd_reset); +#if defined(CONFIG_FORCE_FLASH_BANK_SIZE) + info->size = CONFIG_FORCE_FLASH_BANK_SIZE; +#endif return (info->size); }

Hi Eran,
On Thursday 21 June 2007, eran liberty wrote:
Without this additional check a flash that was defined in the config file with different size then the one reported by the flash chip itself. will cause array overrun and crash.
the additional CONFIG_FORCE_FLASH_BANK_SIZE allows to set the size ignoring the chip actual size
Signed-off-by: Eran Liberty
diff -x .svn -Nuar u-boot.git-5ffa76a032279bc6d3230b703eda32d13305ba13/drivers/cfi_flash.c u-boot.exsw6000/drivers/cfi_flash.c --- u-boot.git-5ffa76a032279bc6d3230b703eda32d13305ba13/drivers/cfi_flash.c 2007-06-18 22:38:46.000000000 +0300 +++ u-boot.exsw6000/drivers/cfi_flash.c 2007-06-20 19:05:01.000000000 +0300 @@ -1281,7 +1281,7 @@ erase_region_count = (tmp & 0xffff) + 1;
Again your patch seems to be not formatted correctly. Please use some decent parameter for patch creation via "diff" or use the git (or cogito) commands for patch creation (which is actually preferred).
I assume this will unfortunately be the case for all the patches you dent today. Please resubmit in a propper way.
Thanks.
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================
participants (2)
-
eran liberty
-
Stefan Roese