mtd: mtdpart: check for subpartitions parsing result
PATCH 1/1 mtd: mtdpart: check for subpartitions parsing result
From: Rafał Miłecki <[email protected]>
parse_mtd_partitions() may return an error so it should be checked and optionally passed up
Signed-off-by Rafał Miłecki <[email protected]>
--- drivers/mtd/mtdpart.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/mtd/mtdpart.c +5 -1
@@ -426,7 +426,11 @@ int add_mtd_partitions(struct mtd_info *parent,mtd_add_partition_attrs (child);/* Look for subpartitions */ -parse_mtd_partitions (child, parts[i].types,NULL ); + ret =parse_mtd_partitions (child, parts[i].types,NULL ); +if (ret) { +pr_err ("Failed to parse subpartitions: %d\n" , ret); + goto err_del_partitions; + } cur_offset = child->part.offset + child->part.size; }
Signature · 6 lines
2.35.3 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
Hi Rafał,
Quoted 15 lines · Rafał Miłecki
From: Rafał Miłecki <[email protected]>
parse_mtd_partitions()may return an error so it should be checked and optionally passed upSigned-off-by Rafał Miłecki <[email protected]>--- drivers/mtd/mtdpart.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)drivers/mtd/mtdpart.c +0
-0
drivers/mtd/mtdpart.c int add_mtd_partitions(struct mtd_info *parent, · line 430
Quoted 6 lines
drivers/mtd/mtdpart.c +2
-1@@ -426,7 +426,11 @@ int add_mtd_partitions(struct mtd_info *parent,mtd_add_partition_attrs (child);/* Look for subpartitions */ -parse_mtd_partitions (child, parts[i].types,NULL ); + ret =parse_mtd_partitions (child, parts[i].types,NULL ); +if (ret) {
Thanks for finding this. I believe we need to check that the return value is negative.
+ if (ret < 0) {
/**
* parse_mtd_partitions - parse and register MTD partitions
…
* This function may return:
* o a negative error code in case of failure
* o number of found partitions otherwise
*/
Quoted 8 lines
drivers/mtd/mtdpart.c +3
-0+pr_err ("Failed to parse subpartitions: %d\n" , ret); + goto err_del_partitions; + } cur_offset = child->part.offset + child->part.size; }Signature · 1 line
2.35.3
Cheers,
Signature · 5 lines
John Thomson ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/