[OpenWrt-Devel] [PATCH] kernel: mtdsplit: add missing digest field to Seama header

Rafał Miłecki zajec5 at gmail.com
Mon Jan 25 01:35:22 EST 2016


Seama format has 2 similar headers: container (seal) header and entity
header. The first one has size always set to 0 and doesn't contain MD5
digest.

When dealing with Seama on a flash we deal directly with an entity. You
can see mtdsplit_parse_seama reads from offset 0 and expects entity to
be there. Seama container is used by bootloader / interface only which
extract entity out of it and flash it.

That said we should fix our header struct. This is important as we
calculate possible rootfs offset assuming it may be placed right after
Seama entity. So far calculate offset was always 16B too low.

Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
---
 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c
index 6f21f8f..c762274 100644
--- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c
+++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c
@@ -26,6 +26,7 @@ struct seama_header {
 	__be16	reserved;	/* reserved for  */
 	__be16	metasize;	/* size of the META data */
 	__be32	size;		/* size of the image */
+	u8	md5[16];	/* digest */
 };
 
 static int mtdsplit_parse_seama(struct mtd_info *master,
-- 
1.8.4.5
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list