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 "<partition name>" 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 <martin.kaistra@linutronix.de>
Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
Martin Kaistra 2020-07-13 14:40:02 +02:00 committed by Tom Rini
parent b72bbf575b
commit 892d461735
1 changed files with 1 additions and 1 deletions

View File

@ -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;