[PATCH] mtd: cmdlinepart: fix the overflow of big mtd partitions

Artem Bityutskiy dedekind1 at gmail.com
Thu Nov 15 08:45:04 EST 2012


On Thu, 2012-11-01 at 13:58 +0800, Huang Shijie wrote:
> When the kernel parses the following cmdline
> 
> 	#mtdparts=gpmi-nand:16m(boot),16m(kernel),1g(home),4g(test),-(usr)
> 
> for a big nand chip Micron MT29F64G08AFAAAWP(8GB), we got the following wrong
> result:
> 
> 	.............................................
> 		"mtd: partition size too small (0)"
> 	.............................................
> 
> We can not get any partition.
> 
> The "4g(test)" partition triggers a overflow of the "size". The memparse()
> returns 4g to the "size", but the size is "unsigned long" type, so a overflow
> occurs, the "size" becomes zero in the end.
> 
> This patch changes the "size"/"offset" to "unsigned long long" type,
> and replaces the UINT_MAX with ULLONG_MAX for macros SIZE_REMAINING and
> OFFSET_CONTINUOUS.
> 
> Signed-off-by: Huang Shijie <b32955 at freescale.com>

Pushed to l2-mtd.git, thanks!

-- 
Best Regards,
Artem Bityutskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20121115/388b8be3/attachment.sig>


More information about the linux-mtd mailing list