From: Stefan Eichenberger <eichest@gmail.com>
To: devel-sven@geroedel.de, mr.nuke.me@gmail.com, sjg@chromium.org
Cc: u-boot@lists.denx.de
Subject: [PATCH 2/2] tools/fitimage: make sure dumpimage still works when "@" are detected
Date: Mon, 10 Jan 2022 18:48:32 +0100 [thread overview]
Message-ID: <20220110174832.257300-3-eichest@gmail.com> (raw)
In-Reply-To: <20220110174832.257300-1-eichest@gmail.com>
fit_verify_header fails if it detects unit addresses "@". However, this
will break tools like dumpimage on fit images which worked with previous
versions of the tool (e.g. 2020.04 vs 2021.07). As an example the output
of:
dumpimage -l <fit image>
is:
FIT description: U-Boot fitImage for Linux Distribution
Created: Thu Jan 1 01:00:00 1970
Image 0 (kernel@1)
Description: Linux kernel
Created: Thu Jan 1 01:00:00 1970
Type: Kernel Image
Compression: gzip compressed
Data Size: 6442456 Bytes = 6291.46 KiB = 6.14 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x80080000
Entry Point: 0x80080000
Hash algo: sha256
Hash value: ...
Image 1 (fdt@freescale_fsl-s32g274a-evb.dtb)
Description: Flattened Device Tree blob
Created: Thu Jan 1 01:00:00 1970
Type: Flat Device Tree
Compression: uncompressed
Data Size: 39661 Bytes = 38.73 KiB = 0.04 MiB
Architecture: AArch64
Hash algo: sha256
Hash value: ...
Default Configuration: 'conf@freescale_fsl-s32g274a-evb.dtb'
Configuration 0 (conf@freescale_fsl-s32g274a-evb.dtb)
Description: 1 Linux kernel, FDT blob
Kernel: kernel@1
FDT: fdt@freescale_fsl-s32g274a-evb.dtb
Hash algo: sha256
Hash value: unavailable
But with newer version it shows:
dumpimage -l <fit image>
GP Header: Size d00dfeed LoadAddr 62f0a4
This commit will output a warning that unit addresses were detected but
will not fail:
dumpimage -l <fit image>
Image contains unit addresses @, this will break signing
...
Signed-off-by: Stefan Eichenberger <eichest@gmail.com>
---
tools/fit_common.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/tools/fit_common.c b/tools/fit_common.c
index 52b63296f8..5c8920de54 100644
--- a/tools/fit_common.c
+++ b/tools/fit_common.c
@@ -26,10 +26,18 @@
int fit_verify_header(unsigned char *ptr, int image_size,
struct image_tool_params *params)
{
- if (fdt_check_header(ptr) != EXIT_SUCCESS ||
- fit_check_format(ptr, IMAGE_SIZE_INVAL))
+ int ret;
+
+ if (fdt_check_header(ptr) != EXIT_SUCCESS)
return EXIT_FAILURE;
+ ret = fit_check_format(ptr, IMAGE_SIZE_INVAL);
+ if (ret) {
+ if (ret != -EADDRNOTAVAIL)
+ return EXIT_FAILURE;
+ fprintf(stderr, "Image contains unit addresses @, this will break signing\n");
+ }
+
return EXIT_SUCCESS;
}
--
2.32.0
next prev parent reply other threads:[~2022-01-10 17:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-10 17:48 [PATCH 0/2] fix dumpimage for fit images Stefan Eichenberger
2022-01-10 17:48 ` [PATCH 1/2] tools/fitimage: remove redundant format check Stefan Eichenberger
2022-01-21 15:20 ` Simon Glass
2022-01-24 16:53 ` Tom Rini
2022-01-10 17:48 ` Stefan Eichenberger [this message]
2022-01-21 15:20 ` [PATCH 2/2] tools/fitimage: make sure dumpimage still works when "@" are detected Simon Glass
2022-01-24 16:53 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220110174832.257300-3-eichest@gmail.com \
--to=eichest@gmail.com \
--cc=devel-sven@geroedel.de \
--cc=mr.nuke.me@gmail.com \
--cc=sjg@chromium.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.