* mtd->size overflow
@ 2007-08-29 6:21 He Yong
[not found] ` <9b52d64c0708282351o4defa2edrdfc295488e20d6c4@mail.gmail.com>
0 siblings, 1 reply; 8+ messages in thread
From: He Yong @ 2007-08-29 6:21 UTC (permalink / raw)
To: linux-mtd
Hi,
I'm using two 2G Bbyte nand flash chip (totally 4GB) under kernel 2.6.20.4,
the chip->chipsize=0x80000000, and when decide the mtd->size = 2 *
0x80000000 = 0x00000000 (overflowed).
is there an official way to solve this problem?
Thanks!!
--
Best Regards!
He Yong
School of Information Security,
Shanghai Jiaotong University,
Dong chuan Road #800,
Minhang, Shanghai, P.R.China
^ permalink raw reply [flat|nested] 8+ messages in thread[parent not found: <9b52d64c0708282351o4defa2edrdfc295488e20d6c4@mail.gmail.com>]
* Re: mtd->size overflow [not found] ` <9b52d64c0708282351o4defa2edrdfc295488e20d6c4@mail.gmail.com> @ 2007-08-29 7:11 ` He Yong 2007-08-29 7:40 ` Vinit Agnihotri 2007-08-29 8:08 ` Matthieu CASTET 0 siblings, 2 replies; 8+ messages in thread From: He Yong @ 2007-08-29 7:11 UTC (permalink / raw) To: Vinit Agnihotri; +Cc: linux-mtd hi,Vinit can you give a patch fro that? Thanks a lot! -- He Yong 2007/8/29, Vinit Agnihotri <vinit.agnihotri@gmail.com>: > I had same problem, > I converted entire mtd sunsytem to work with 64-bit compatibility. > You have make fields from mtd_info, erase_info & 2 more structures to 64-bits > these fields are size, offset & similar ones... > > --vinit > > On 8/29/07, He Yong <hoffer1127@gmail.com> wrote: > > Hi, > > I'm using two 2G Bbyte nand flash chip (totally 4GB) under kernel 2.6.20.4, > > the chip->chipsize=0x80000000, and when decide the mtd->size = 2 * > > 0x80000000 = 0x00000000 (overflowed). > > is there an official way to solve this problem? > > > > Thanks!! > > > > -- > > Best Regards! > > > > He Yong > > > > School of Information Security, > > Shanghai Jiaotong University, > > Dong chuan Road #800, > > Minhang, Shanghai, P.R.China > > > > ______________________________________________________ > > Linux MTD discussion mailing list > > http://lists.infradead.org/mailman/listinfo/linux-mtd/ > > > > > -- > I feel free now > -- Best Regards! He Yong School of Information Security, Shanghai Jiaotong University, Dong chuan Road #800, Minhang, Shanghai, P.R.China ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: mtd->size overflow 2007-08-29 7:11 ` He Yong @ 2007-08-29 7:40 ` Vinit Agnihotri 2007-08-29 7:51 ` He Yong 2007-08-29 17:04 ` Jörn Engel 2007-08-29 8:08 ` Matthieu CASTET 1 sibling, 2 replies; 8+ messages in thread From: Vinit Agnihotri @ 2007-08-29 7:40 UTC (permalink / raw) To: He Yong; +Cc: linux-mtd I dont mind giving out patch but its about making mtd subsytem 64-bit, so mtd-maintainers must allow that patch. As its kernel patch. --vinit On 8/29/07, He Yong <hoffer1127@gmail.com> wrote: > hi,Vinit > can you give a patch fro that? Thanks a lot! > > -- He Yong > > 2007/8/29, Vinit Agnihotri <vinit.agnihotri@gmail.com>: > > I had same problem, > > I converted entire mtd sunsytem to work with 64-bit compatibility. > > You have make fields from mtd_info, erase_info & 2 more structures to 64-bits > > these fields are size, offset & similar ones... > > > > --vinit > > > > On 8/29/07, He Yong <hoffer1127@gmail.com> wrote: > > > Hi, > > > I'm using two 2G Bbyte nand flash chip (totally 4GB) under kernel 2.6.20.4, > > > the chip->chipsize=0x80000000, and when decide the mtd->size = 2 * > > > 0x80000000 = 0x00000000 (overflowed). > > > is there an official way to solve this problem? > > > > > > Thanks!! > > > > > > -- > > > Best Regards! > > > > > > He Yong > > > > > > School of Information Security, > > > Shanghai Jiaotong University, > > > Dong chuan Road #800, > > > Minhang, Shanghai, P.R.China > > > > > > ______________________________________________________ > > > Linux MTD discussion mailing list > > > http://lists.infradead.org/mailman/listinfo/linux-mtd/ > > > > > > > > > -- > > I feel free now > > > > > -- > Best Regards! > > He Yong > > School of Information Security, > Shanghai Jiaotong University, > Dong chuan Road #800, > Minhang, Shanghai, P.R.China > -- I feel free now ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: mtd->size overflow 2007-08-29 7:40 ` Vinit Agnihotri @ 2007-08-29 7:51 ` He Yong 2007-08-29 17:04 ` Jörn Engel 1 sibling, 0 replies; 8+ messages in thread From: He Yong @ 2007-08-29 7:51 UTC (permalink / raw) To: Vinit Agnihotri; +Cc: linux-mtd oh.. I'll try to figure it out myself then. Thanks anyway! -- heyong 2007/8/29, Vinit Agnihotri <vinit.agnihotri@gmail.com>: > I dont mind giving out patch > but its about making mtd subsytem 64-bit, > so mtd-maintainers must allow that patch. As its kernel patch. > > --vinit > > On 8/29/07, He Yong <hoffer1127@gmail.com> wrote: > > hi,Vinit > > can you give a patch fro that? Thanks a lot! > > > > -- He Yong > > > > 2007/8/29, Vinit Agnihotri <vinit.agnihotri@gmail.com>: > > > I had same problem, > > > I converted entire mtd sunsytem to work with 64-bit compatibility. > > > You have make fields from mtd_info, erase_info & 2 more structures to 64-bits > > > these fields are size, offset & similar ones... > > > > > > --vinit > > > > > > On 8/29/07, He Yong <hoffer1127@gmail.com> wrote: > > > > Hi, > > > > I'm using two 2G Bbyte nand flash chip (totally 4GB) under kernel 2.6.20.4, > > > > the chip->chipsize=0x80000000, and when decide the mtd->size = 2 * > > > > 0x80000000 = 0x00000000 (overflowed). > > > > is there an official way to solve this problem? > > > > > > > > Thanks!! > > > > > > > > -- > > > > Best Regards! > > > > > > > > He Yong > > > > > > > > School of Information Security, > > > > Shanghai Jiaotong University, > > > > Dong chuan Road #800, > > > > Minhang, Shanghai, P.R.China > > > > > > > > ______________________________________________________ > > > > Linux MTD discussion mailing list > > > > http://lists.infradead.org/mailman/listinfo/linux-mtd/ > > > > > > > > > > > > > -- > > > I feel free now > > > > > > > > > -- > > Best Regards! > > > > He Yong > > > > School of Information Security, > > Shanghai Jiaotong University, > > Dong chuan Road #800, > > Minhang, Shanghai, P.R.China > > > > > -- > I feel free now > -- Best Regards! He Yong School of Information Security, Shanghai Jiaotong University, Dong chuan Road #800, Minhang, Shanghai, P.R.China ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: mtd->size overflow 2007-08-29 7:40 ` Vinit Agnihotri 2007-08-29 7:51 ` He Yong @ 2007-08-29 17:04 ` Jörn Engel 2007-08-30 14:06 ` He Yong 1 sibling, 1 reply; 8+ messages in thread From: Jörn Engel @ 2007-08-29 17:04 UTC (permalink / raw) To: Vinit Agnihotri; +Cc: He Yong, linux-mtd On Wed, 29 August 2007 13:10:15 +0530, Vinit Agnihotri wrote: > > I dont mind giving out patch > but its about making mtd subsytem 64-bit, > so mtd-maintainers must allow that patch. As its kernel patch. Just send the patch. Even if it doesn't get merged, reading the patch will be useful to whoever does the actual 64bit transition. Jörn -- Joern's library part 14: http://www.sandpile.org/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: mtd->size overflow 2007-08-29 17:04 ` Jörn Engel @ 2007-08-30 14:06 ` He Yong 2007-08-30 14:52 ` Vinit Agnihotri 0 siblings, 1 reply; 8+ messages in thread From: He Yong @ 2007-08-30 14:06 UTC (permalink / raw) To: Jörn Engel; +Cc: linux-mtd, Vinit Agnihotri Hi,all I've done the work, and have it tested. here is the patch: Index: include/linux/mtd/nand.h =================================================================== --- include/linux/mtd/nand.h (修订版 166) +++ include/linux/mtd/nand.h (修订版 167) @@ -392,7 +392,7 @@ int bbt_erase_shift; int chip_shift; int numchips; - unsigned long chipsize; + u_int64_t chipsize; int pagemask; int pagebuf; int subpagesize; @@ -491,8 +491,8 @@ struct nand_bbt_descr { int options; int pages[NAND_MAX_CHIPS]; - int offs; - int veroffs; + u_int64_t offs; + u_int64_t veroffs; uint8_t version[NAND_MAX_CHIPS]; int len; int maxblocks; Index: include/linux/mtd/mtd.h =================================================================== --- include/linux/mtd/mtd.h (修订版 166) +++ include/linux/mtd/mtd.h (修订版 167) @@ -36,9 +36,9 @@ specific to any particular block. */ struct erase_info { struct mtd_info *mtd; - u_int32_t addr; - u_int32_t len; - u_int32_t fail_addr; + u_int64_t addr; + u_int64_t len; + u_int64_t fail_addr; u_long time; u_long retries; u_int dev; @@ -50,7 +50,7 @@ }; struct mtd_erase_region_info { - u_int32_t offset; /* At which this region starts, from the beginning of the MTD */ + u_int64_t offset; /* At which this region starts, from the beginning of the MTD */ u_int32_t erasesize; /* For this region */ u_int32_t numblocks; /* Number of blocks of erasesize in this region */ }; @@ -92,7 +92,7 @@ size_t retlen; size_t ooblen; size_t oobretlen; - uint32_t ooboffs; + u_int64_t ooboffs; uint8_t *datbuf; uint8_t *oobbuf; }; @@ -100,7 +100,7 @@ struct mtd_info { u_char type; u_int32_t flags; - u_int32_t size; // Total size of the MTD + u_int64_t size; // Total size of the MTD -- by hoffer /* "Major" erase size for the device. Naïve users may take this * to be the only erase size available, or may use the more detailed Index: drivers/mtd/nand/nand_base.c =================================================================== --- drivers/mtd/nand/nand_base.c (修订版 166) +++ drivers/mtd/nand/nand_base.c (修订版 167) @@ -2328,8 +2328,8 @@ " 0x%02x, Chip ID: 0x%02x (%s %s)\n", *maf_id, dev_id, nand_manuf_ids[maf_idx].name, type->name); - printk(KERN_INFO "BlockSize: 0x%x, PageSize: 0x%x, OobSize: 0x%x, BusWith:%d\n", - mtd->erasesize,mtd->writesize,mtd->oobsize,(chip->options & NAND_BUSWIDTH_16) ? 16 : 8 ); + printk(KERN_INFO "ChipSize: 0x%x, BlockSize: 0x%x, PageSize: 0x%x, OobSize: 0x%x, BusWith:%d\n", + chip->chipsize,mtd->erasesize,mtd->writesize,mtd->oobsize,(chip->options & NAND_BUSWIDTH_16) ? 16 : 8 ); return type; } Index: drivers/mtd/mtdpart.c =================================================================== --- drivers/mtd/mtdpart.c (修订版 166) +++ drivers/mtd/mtdpart.c (修订版 167) @@ -28,7 +28,7 @@ struct mtd_part { struct mtd_info mtd; struct mtd_info *master; - u_int32_t offset; + u_int64_t offset; int index; struct list_head list; int registered; @@ -400,15 +400,15 @@ slave->offset = ((cur_offset / master->erasesize) + 1) * master->erasesize; printk(KERN_NOTICE "Moving partition %d: " "0x%08x -> 0x%08x\n", i, - cur_offset, slave->offset); + cur_offset, (u_int32_t)slave->offset); } } if (slave->mtd.size == MTDPART_SIZ_FULL) slave->mtd.size = master->size - slave->offset; cur_offset = slave->offset + slave->mtd.size; - printk (KERN_NOTICE "0x%08x-0x%08x : \"%s\"\n", slave->offset, - slave->offset + slave->mtd.size, slave->mtd.name); + printk (KERN_NOTICE "0x%08x-0x%08x : \"%s\"\n", (u_int32_t)slave->offset, + (u_int32_t)(slave->offset + slave->mtd.size), slave->mtd.name); /* let's do some sanity checks */ if (slave->offset >= master->size) { @@ -421,7 +421,7 @@ if (slave->offset + slave->mtd.size > master->size) { slave->mtd.size = master->size - slave->offset; printk ("mtd: partition \"%s\" extends beyond the end of device \"%s\" -- size truncated to %#x\n", - parts[i].name, master->name, slave->mtd.size); + parts[i].name, master->name, (u_int32_t)slave->mtd.size); } if (master->numeraseregions>1) { /* Deal with variable erase size stuff */ @@ -443,7 +443,7 @@ } if ((slave->mtd.flags & MTD_WRITEABLE) && - (slave->offset % slave->mtd.erasesize)) { + (((u_int32_t)slave->offset) % slave->mtd.erasesize /*hoffer*/ )) { /* Doesn't start on a boundary of major erase size */ /* FIXME: Let it be writable if it is on a boundary of _minor_ erase size though */ slave->mtd.flags &= ~MTD_WRITEABLE; @@ -451,7 +451,7 @@ parts[i].name); } if ((slave->mtd.flags & MTD_WRITEABLE) && - (slave->mtd.size % slave->mtd.erasesize)) { + (((u_int32_t)slave->mtd.size) % slave->mtd.erasesize /*hoffer*/ ) ) { slave->mtd.flags &= ~MTD_WRITEABLE; printk ("mtd: partition \"%s\" doesn't end on an erase block -- force read-only\n", parts[i].name); Index: drivers/mtd/mtdcore.c =================================================================== --- drivers/mtd/mtdcore.c (修订版 166) +++ drivers/mtd/mtdcore.c (修订版 167) @@ -349,7 +349,7 @@ if (!this) return 0; - return sprintf(buf, "mtd%d: %8.8x %8.8x \"%s\"\n", i, this->size, + return sprintf(buf, "mtd%d: %8.8x %8.8x \"%s\"\n", i, (u_int32_t)this->size, this->erasesize, this->name); } 2007/8/30, Jörn Engel <joern@logfs.org>: > On Wed, 29 August 2007 13:10:15 +0530, Vinit Agnihotri wrote: > > > > I dont mind giving out patch > > but its about making mtd subsytem 64-bit, > > so mtd-maintainers must allow that patch. As its kernel patch. > > Just send the patch. Even if it doesn't get merged, reading the patch > will be useful to whoever does the actual 64bit transition. > > Jörn > > -- > Joern's library part 14: > http://www.sandpile.org/ > -- Best Regards! He Yong School of Information Security, Shanghai Jiaotong University, Dong chuan Road #800, Minhang, Shanghai, P.R.China ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: mtd->size overflow 2007-08-30 14:06 ` He Yong @ 2007-08-30 14:52 ` Vinit Agnihotri 0 siblings, 0 replies; 8+ messages in thread From: Vinit Agnihotri @ 2007-08-30 14:52 UTC (permalink / raw) To: He Yong; +Cc: Jörn Engel, linux-mtd Its good work however few things are missing 1> You need to make erasesize(struct mtd_info & struct mtd_erase_region_info) field 64-bit 2> printk (KERN_NOTICE "0x%08x-0x%08x : \"%s\"\n", (u_int32_t)slave->offset, (u_int32_t)(slave->offset + slave->mtd.size), slave->mtd.name); use %lx or 0x%16x to print 64-bit values, or else printk will print only 32-bit value. 3> same thing in sysfs size variable(mtdcore.c). 4> You need to make changes in include/mtd/mtd-abi.h.i.e. for a> struct erase_info_user b> struct mtd_oob_buf c> struct mtd_info_user d> struct region_info_user e> struct otp_info f> struct nand_oobfree 5> You need to make changes in include/linux/mtd/partitions.h a> struct mtd_partition -- Vinit. On 8/30/07, He Yong <hoffer1127@gmail.com> wrote: > Hi,all > I've done the work, and have it tested. > here is the patch: > > Index: include/linux/mtd/nand.h > =================================================================== > --- include/linux/mtd/nand.h (修订版 166) > +++ include/linux/mtd/nand.h (修订版 167) > @@ -392,7 +392,7 @@ > int bbt_erase_shift; > int chip_shift; > int numchips; > - unsigned long chipsize; > + u_int64_t chipsize; > int pagemask; > int pagebuf; > int subpagesize; > @@ -491,8 +491,8 @@ > struct nand_bbt_descr { > int options; > int pages[NAND_MAX_CHIPS]; > - int offs; > - int veroffs; > + u_int64_t offs; > + u_int64_t veroffs; > uint8_t version[NAND_MAX_CHIPS]; > int len; > int maxblocks; > Index: include/linux/mtd/mtd.h > =================================================================== > --- include/linux/mtd/mtd.h (修订版 166) > +++ include/linux/mtd/mtd.h (修订版 167) > @@ -36,9 +36,9 @@ > specific to any particular block. */ > struct erase_info { > struct mtd_info *mtd; > - u_int32_t addr; > - u_int32_t len; > - u_int32_t fail_addr; > + u_int64_t addr; > + u_int64_t len; > + u_int64_t fail_addr; > u_long time; > u_long retries; > u_int dev; > @@ -50,7 +50,7 @@ > }; > > struct mtd_erase_region_info { > - u_int32_t offset; /* At which this region starts, from the > beginning of the MTD */ > + u_int64_t offset; /* At which this region starts, from the > beginning of the MTD */ > u_int32_t erasesize; /* For this region */ > u_int32_t numblocks; /* Number of blocks of erasesize in this region */ > }; > @@ -92,7 +92,7 @@ > size_t retlen; > size_t ooblen; > size_t oobretlen; > - uint32_t ooboffs; > + u_int64_t ooboffs; > uint8_t *datbuf; > uint8_t *oobbuf; > }; > @@ -100,7 +100,7 @@ > struct mtd_info { > u_char type; > u_int32_t flags; > - u_int32_t size; // Total size of the MTD > + u_int64_t size; // Total size of the MTD -- by hoffer > > /* "Major" erase size for the device. Naïve users may take this > * to be the only erase size available, or may use the more detailed > Index: drivers/mtd/nand/nand_base.c > =================================================================== > --- drivers/mtd/nand/nand_base.c (修订版 166) > +++ drivers/mtd/nand/nand_base.c (修订版 167) > @@ -2328,8 +2328,8 @@ > " 0x%02x, Chip ID: 0x%02x (%s %s)\n", *maf_id, dev_id, > nand_manuf_ids[maf_idx].name, type->name); > > - printk(KERN_INFO "BlockSize: 0x%x, PageSize: 0x%x, OobSize: 0x%x, > BusWith:%d\n", > - mtd->erasesize,mtd->writesize,mtd->oobsize,(chip->options > & NAND_BUSWIDTH_16) ? 16 : 8 ); > + printk(KERN_INFO "ChipSize: 0x%x, BlockSize: 0x%x, PageSize: 0x%x, > OobSize: 0x%x, BusWith:%d\n", > + chip->chipsize,mtd->erasesize,mtd->writesize,mtd->oobsize,(chip->options > & NAND_BUSWIDTH_16) ? 16 : 8 ); > > return type; > } > Index: drivers/mtd/mtdpart.c > =================================================================== > --- drivers/mtd/mtdpart.c (修订版 166) > +++ drivers/mtd/mtdpart.c (修订版 167) > @@ -28,7 +28,7 @@ > struct mtd_part { > struct mtd_info mtd; > struct mtd_info *master; > - u_int32_t offset; > + u_int64_t offset; > int index; > struct list_head list; > int registered; > @@ -400,15 +400,15 @@ > slave->offset = ((cur_offset / master->erasesize) + 1) * master->erasesize; > printk(KERN_NOTICE "Moving partition %d: " > "0x%08x -> 0x%08x\n", i, > - cur_offset, slave->offset); > + cur_offset, (u_int32_t)slave->offset); > } > } > if (slave->mtd.size == MTDPART_SIZ_FULL) > slave->mtd.size = master->size - slave->offset; > cur_offset = slave->offset + slave->mtd.size; > > - printk (KERN_NOTICE "0x%08x-0x%08x : \"%s\"\n", slave->offset, > - slave->offset + slave->mtd.size, slave->mtd.name); > + printk (KERN_NOTICE "0x%08x-0x%08x : \"%s\"\n", (u_int32_t)slave->offset, > + (u_int32_t)(slave->offset + slave->mtd.size), slave->mtd.name); > > /* let's do some sanity checks */ > if (slave->offset >= master->size) { > @@ -421,7 +421,7 @@ > if (slave->offset + slave->mtd.size > master->size) { > slave->mtd.size = master->size - slave->offset; > printk ("mtd: partition \"%s\" extends beyond the end of device > \"%s\" -- size truncated to %#x\n", > - parts[i].name, master->name, slave->mtd.size); > + parts[i].name, master->name, (u_int32_t)slave->mtd.size); > } > if (master->numeraseregions>1) { > /* Deal with variable erase size stuff */ > @@ -443,7 +443,7 @@ > } > > if ((slave->mtd.flags & MTD_WRITEABLE) && > - (slave->offset % slave->mtd.erasesize)) { > + (((u_int32_t)slave->offset) % slave->mtd.erasesize /*hoffer*/ )) { > /* Doesn't start on a boundary of major erase size */ > /* FIXME: Let it be writable if it is on a boundary of _minor_ > erase size though */ > slave->mtd.flags &= ~MTD_WRITEABLE; > @@ -451,7 +451,7 @@ > parts[i].name); > } > if ((slave->mtd.flags & MTD_WRITEABLE) && > - (slave->mtd.size % slave->mtd.erasesize)) { > + (((u_int32_t)slave->mtd.size) % slave->mtd.erasesize /*hoffer*/ ) ) { > slave->mtd.flags &= ~MTD_WRITEABLE; > printk ("mtd: partition \"%s\" doesn't end on an erase block -- > force read-only\n", > parts[i].name); > Index: drivers/mtd/mtdcore.c > =================================================================== > --- drivers/mtd/mtdcore.c (修订版 166) > +++ drivers/mtd/mtdcore.c (修订版 167) > @@ -349,7 +349,7 @@ > if (!this) > return 0; > > - return sprintf(buf, "mtd%d: %8.8x %8.8x \"%s\"\n", i, this->size, > + return sprintf(buf, "mtd%d: %8.8x %8.8x \"%s\"\n", i, (u_int32_t)this->size, > this->erasesize, this->name); > } > > > > 2007/8/30, Jörn Engel <joern@logfs.org>: > > On Wed, 29 August 2007 13:10:15 +0530, Vinit Agnihotri wrote: > > > > > > I dont mind giving out patch > > > but its about making mtd subsytem 64-bit, > > > so mtd-maintainers must allow that patch. As its kernel patch. > > > > Just send the patch. Even if it doesn't get merged, reading the patch > > will be useful to whoever does the actual 64bit transition. > > > > Jörn > > > > -- > > Joern's library part 14: > > http://www.sandpile.org/ > > > > > -- > Best Regards! > > He Yong > > School of Information Security, > Shanghai Jiaotong University, > Dong chuan Road #800, > Minhang, Shanghai, P.R.China > -- I feel free now ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: mtd->size overflow 2007-08-29 7:11 ` He Yong 2007-08-29 7:40 ` Vinit Agnihotri @ 2007-08-29 8:08 ` Matthieu CASTET 1 sibling, 0 replies; 8+ messages in thread From: Matthieu CASTET @ 2007-08-29 8:08 UTC (permalink / raw) To: He Yong; +Cc: linux-mtd, Vinit Agnihotri > 2007/8/29, Vinit Agnihotri <vinit.agnihotri@gmail.com>: >> I had same problem, >> I converted entire mtd sunsytem to work with 64-bit compatibility. >> You have make fields from mtd_info, erase_info & 2 more structures to 64-bits >> these fields are size, offset & similar ones... Or you could sift the size field, because I bet you never have 1B flash... Matthieu ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-08-30 14:52 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-29 6:21 mtd->size overflow He Yong
[not found] ` <9b52d64c0708282351o4defa2edrdfc295488e20d6c4@mail.gmail.com>
2007-08-29 7:11 ` He Yong
2007-08-29 7:40 ` Vinit Agnihotri
2007-08-29 7:51 ` He Yong
2007-08-29 17:04 ` Jörn Engel
2007-08-30 14:06 ` He Yong
2007-08-30 14:52 ` Vinit Agnihotri
2007-08-29 8:08 ` Matthieu CASTET
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox