• Huang Shijie's avatar
    mtd: cmdlinepart: fix the overflow of big mtd partitions · 6f9f59ee
    Huang Shijie authored
    
    
    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: default avatarHuang Shijie <b32955@freescale.com>
    Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
    6f9f59ee
cmdlinepart.c 10.1 KB