Messages in this thread Patch in this message | | | Date | Wed, 30 Jul 2003 18:31:00 +0200 | From | Adrian Bunk <> | Subject | [patch] |
| |
gcc 3.3 correctly gives the following warning:
<-- snip -->
... CC drivers/mtd/ftl.o drivers/mtd/ftl.c: In function `scan_header': drivers/mtd/ftl.c:191: warning: comparison is always false due to limited range ...
<-- snip -->
Looking at the code it seems gcc is correct, a 16bit number can _never_ be > 65536.
The following patch removes this comparison:
--- linux-2.6.0-test2-full/drivers/mtd/ftl.c.old 2003-07-30 13:04:05.000000000 +0200 +++ linux-2.6.0-test2-full/drivers/mtd/ftl.c 2003-07-30 13:04:13.000000000 +0200 @@ -188,7 +188,7 @@ printk(KERN_NOTICE "ftl_cs: FTL header not found.\n"); return -ENOENT; } - if ((le16_to_cpu(header.NumEraseUnits) > 65536) || header.BlockSize != 9 || + if (header.BlockSize != 9 || (header.EraseUnitSize < 10) || (header.EraseUnitSize > 31) || (header.NumTransferUnits >= le16_to_cpu(header.NumEraseUnits))) { printk(KERN_NOTICE "ftl_cs: FTL header corrupt!\n");
I've tested the compilation with 2.6.0-test2 and 2.4.22-pre9.
cu Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |