From 9db093d00ef0385cc8987d45af06a400d6fde406 Mon Sep 17 00:00:00 2001 From: Sridharan S N Date: Thu, 10 Aug 2023 17:14:29 +0530 Subject: [PATCH] common: cmd_mtdparts: skip partitions exceeding flash size Change-Id: Icc9fcd4bcc8b2d7d5e47598c1acc6058ecf203d9 Signed-off-by: Sridharan S N --- common/cmd_mtdparts.c | 3 +-- common/fdt_support.c | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/cmd_mtdparts.c b/common/cmd_mtdparts.c index ca7c9fc9d7..9a9f587ceb 100644 --- a/common/cmd_mtdparts.c +++ b/common/cmd_mtdparts.c @@ -411,8 +411,7 @@ static int part_validate(struct mtdids *id, struct part_info *part) } if (part->offset + part->size > id->size) { - printf("%s: partitioning exceeds flash size\n", id->mtd_id); - return 1; + printf("%s: partitioning (%s) exceeds flash size\n", id->mtd_id, part->name); } /* diff --git a/common/fdt_support.c b/common/fdt_support.c index a539389a9e..935c9da068 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -817,6 +817,9 @@ int fdt_node_set_part_info(void *blob, int parent_offset, part = list_entry(pentry, struct part_info, link); + if (part->offset + part->size > dev->id->size) + continue; + debug("%2d: %-20s0x%08llx\t0x%08llx\t%d\n", part_num, part->name, part->size, part->offset, part->mask_flags);