From: Mathias Kresin Date: Sun, 2 Oct 2016 17:18:56 +0000 (+0200) Subject: kernel: mtdsplit_uimage: fix rootfs offset X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=35073d47bb91fc0066a08c85c9206a6338a19b7e;p=openwrt%2Fstaging%2Fblogic.git kernel: mtdsplit_uimage: fix rootfs offset The return value of the find_header function need to be added to the uimage_size, otherwise mtd_find_rootfs_from() might search for a rootfs within a custom header and fails. Signed-off-by: Mathias Kresin --- diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c index a50735a901cb..3ddb71bfa7f7 100644 --- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c +++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c @@ -126,7 +126,7 @@ static int __mtdsplit_parse_uimage(struct mtd_info *master, } header = (struct uimage_header *)(buf + ret); - uimage_size = sizeof(*header) + be32_to_cpu(header->ih_size); + uimage_size = sizeof(*header) + be32_to_cpu(header->ih_size) + ret; if ((offset + uimage_size) > master->size) { pr_debug("uImage exceeds MTD device \"%s\"\n", master->name);