Re: [U-Boot] [PATCH] cmd_jffs2: Fix get_part_sector_size_nor() overflow bug

2011-01-18 Thread Wolfgang Denk
Dear Peter Tyser,

In message <1293745676-1557-1-git-send-email-pty...@xes-inc.com> you wrote:
> When a flash partition was positioned at the very top of a 32-bit memory
> map (eg located at 0xf800 with a size of 0x800)
> get_part_sector_size_nor() would incorrectly calculate the partition's
> ending address to 0x0 due to overflow.  When the overflow occurred
> get_part_sector_size_nor() would falsely return a sector size of 0.
> A sector size of 0 results in subsequent jffs2 operations failing.
> 
> To workaround the overflow subtract 1 from calculated address of
> the partition endpoint.
> 
> Signed-off-by: Peter Tyser 
> ---
>  common/cmd_jffs2.c |2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)

Applied.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
I am a computer. I am dumber than any human and smarter than any  ad-
ministrator.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] cmd_jffs2: Fix get_part_sector_size_nor() overflow bug

2010-12-30 Thread Peter Tyser
When a flash partition was positioned at the very top of a 32-bit memory
map (eg located at 0xf800 with a size of 0x800)
get_part_sector_size_nor() would incorrectly calculate the partition's
ending address to 0x0 due to overflow.  When the overflow occurred
get_part_sector_size_nor() would falsely return a sector size of 0.
A sector size of 0 results in subsequent jffs2 operations failing.

To workaround the overflow subtract 1 from calculated address of
the partition endpoint.

Signed-off-by: Peter Tyser 
---
 common/cmd_jffs2.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/common/cmd_jffs2.c b/common/cmd_jffs2.c
index 0e7a6b0..27296dd 100644
--- a/common/cmd_jffs2.c
+++ b/common/cmd_jffs2.c
@@ -281,7 +281,7 @@ static inline u32 get_part_sector_size_nor(struct mtdids 
*id, struct part_info *
flash = &flash_info[id->num];
 
start_phys = flash->start[0] + part->offset;
-   end_phys = start_phys + part->size;
+   end_phys = start_phys + part->size - 1;
 
for (i = 0; i < flash->sector_count; i++) {
if (flash->start[i] >= end_phys)
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot