diff options
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r-- | gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch b/gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch new file mode 100644 index 0000000000..063677db4a --- /dev/null +++ b/gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch @@ -0,0 +1,57 @@ +From 48b52117235928cfd7ef1ec5c3f2cff5d7b03862 Mon Sep 17 00:00:00 2001 +From: Jordan Hand <jordanhand22@gmail.com> +Date: Wed, 10 Apr 2019 09:46:32 -0700 +Subject: [PATCH,v2] fdt: Fix mkimage list to try every header type +Origin: https://patchwork.ozlabs.org/patch/1083495/ + +Image type is not supplied to `mkimage -l`. For this reason, we cannot +use imagetool_verify_print_header_by_type. Instead, this patch uses +imagetool_verify_print_header to look through all header types to find +one where image validation succeeds. + +This patch fixes failures in test/image/test-imagetools.sh + +Signed-off-by: Jordan Hand <jorhand@microsoft.com> +Tested-by: Alex Kiernan <alex.kiernan@gmail.com> +Tested-by: Vagrant Cascadian <vagrant@debian.org> +--- + tools/mkimage.c | 23 +++++++++++++++-------- + 1 file changed, 15 insertions(+), 8 deletions(-) + +diff --git a/tools/mkimage.c b/tools/mkimage.c +index 2899adff81..76c3406d37 100644 +--- a/tools/mkimage.c ++++ b/tools/mkimage.c +@@ -403,14 +403,21 @@ int main(int argc, char **argv) + exit (EXIT_FAILURE); + } + +- /* +- * scan through mkimage registry for all supported image types +- * and verify the input image file header for match +- * Print the image information for matched image type +- * Returns the error code if not matched +- */ +- retval = imagetool_verify_print_header_by_type(ptr, &sbuf, +- tparams, ¶ms); ++ if (params.fflag) { ++ /* ++ * Verifies the header format based on the expected header for ++ * image type in tparams ++ */ ++ retval = imagetool_verify_print_header_by_type(ptr, &sbuf, ++ tparams, ¶ms); ++ } else { ++ /** ++ * When listing the image, we are not given the image type. Simply check all ++ * image types to find one that matches our header ++ */ ++ retval = imagetool_verify_print_header(ptr, &sbuf, ++ tparams, ¶ms); ++ } + + (void) munmap((void *)ptr, sbuf.st_size); + (void) close (ifd); +-- +2.20.1 + |