public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [PATCH] Bug fix / safty measure for cfi_flash.c
@ 2007-06-21  6:16 eran liberty
  2007-06-21 11:42 ` Stefan Roese
  0 siblings, 1 reply; 2+ messages in thread
From: eran liberty @ 2007-06-21  6:16 UTC (permalink / raw)
  To: u-boot

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);
}

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-06-21 11:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-21  6:16 [U-Boot-Users] [PATCH] Bug fix / safty measure for cfi_flash.c eran liberty
2007-06-21 11:42 ` Stefan Roese

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox