From 728ca2bc393629e8f2eaff4731f118a46018fc24 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 20 Nov 2025 23:22:30 +0100 Subject: [PATCH] Revert "kernel: mtdsplit_h3c_vfs: return 0 for non-fatal errors" This reverts commit 6fa1775348d5415129db12c05a993c8571c867c2. Skipping parser for subpartition will be handled now with -ENOENT. Signed-off-by: Christian Marangi --- .../drivers/mtd/mtdsplit/mtdsplit_h3c_vfs.c | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_h3c_vfs.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_h3c_vfs.c index 25993e762b..f264233dbd 100644 --- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_h3c_vfs.c +++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_h3c_vfs.c @@ -98,11 +98,8 @@ static int mtdsplit_h3c_vfs_parse(struct mtd_info *mtd, if (retlen != sizeof(format_flag)) return -EIO; - if (format_flag != FORMAT_FLAG) { - pr_info("mtdsplit_h3c_vfs: unexpected format flag %08x\n", - format_flag); - return 0; - } + if (format_flag != FORMAT_FLAG) + return -EINVAL; /* Check file entry */ err = mtd_read(mtd, FILE_ENTRY_OFFSET, sizeof(file_entry), &retlen, @@ -113,14 +110,20 @@ static int mtdsplit_h3c_vfs_parse(struct mtd_info *mtd, if (retlen != sizeof(file_entry)) return -EIO; - if (file_entry.flags != FILE_ENTRY_FLAGS || - file_entry.parent_block != FILE_ENTRY_PARENT_BLOCK || - file_entry.parent_index != FILE_ENTRY_PARENT_INDEX || - file_entry.data_block != FILE_ENTRY_DATA_BLOCK || - strncmp(file_entry.name, FILE_ENTRY_NAME, sizeof(file_entry.name)) != 0) { - pr_info("mtdsplit_h3c_vfs: unexpected file entry - OpenWrt probably not installed\n"); - return 0; - } + if (file_entry.flags != FILE_ENTRY_FLAGS) + return -EINVAL; + + if (file_entry.parent_block != FILE_ENTRY_PARENT_BLOCK) + return -EINVAL; + + if (file_entry.parent_index != FILE_ENTRY_PARENT_INDEX) + return -EINVAL; + + if (file_entry.data_block != FILE_ENTRY_DATA_BLOCK) + return -EINVAL; + + if (strncmp(file_entry.name, FILE_ENTRY_NAME, sizeof(file_entry.name)) != 0) + return -EINVAL; /* Find rootfs offset */ kernel_size = block_offset(file_entry.data_block + -- 2.30.2