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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox