From: Martin Kaistra Date: Mon, 13 Jul 2020 12:40:02 +0000 (+0200) Subject: mtd: mtdpart: use uint64_t instead of int for cur_off X-Git-Url: http://git.dujemihanovic.xyz/img/sics.gif?a=commitdiff_plain;h=892d4617357db355bf847ca37dd76cf946727ec2;p=u-boot.git mtd: mtdpart: use uint64_t instead of int for cur_off The types of "offset" and "size" of "struct mtd_partition" are uint64_t, while mtd_parse_partitions() uses int to work with these values. When the offset reaches 2GB, it is interpreted as a negative value, which leads to error messages like mtd: partition "" is out of reach -- disabled eg. when using the "ubi part" command. Fix this by using uint64_t for cur_off and cur_sz. Signed-off-by: Martin Kaistra Reviewed-by: Kurt Kanzenbach Reviewed-by: Heiko Schocher --- diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index d1f6029b2b..d064ac3048 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -207,7 +207,7 @@ int mtd_parse_partitions(struct mtd_info *parent, const char **_mtdparts, { struct mtd_partition partition = {}, *parts; const char *mtdparts = *_mtdparts; - int cur_off = 0, cur_sz = 0; + uint64_t cur_off = 0, cur_sz = 0; int nparts = 0; int ret, idx; u64 sz;