[PATCH RFC u-boot-mvebu 25/59] cmd: mvebu/bubt: Do not modify image in A8K check_image_header()

Pali Rohár
2023-02-21T20:49:47Z

Change checksum verification code so it does require to modify image.

Signed-off-by: Pali Rohár <pali@kernel.org>
---
cmd/mvebu/bubt.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c
index 820d342ae100..1b08ca9298c2 100644
--- a/cmd/mvebu/bubt.c
+++ b/cmd/mvebu/bubt.c
@@ -739,18 +739,14 @@ static int check_image_header(void)
return -ENOEXEC;
}

- /* The checksum value is discarded from checksum calculation */
- hdr->prolog_checksum = 0;
-
checksum = do_checksum32((u32 *)hdr, header_len);
+ checksum -= hdr->prolog_checksum;
if (checksum != checksum_ref) {
printf("Error: Bad Image checksum. 0x%x != 0x%x\n",
checksum, checksum_ref);
return -ENOEXEC;
}

- /* Restore the checksum before writing */
- hdr->prolog_checksum = checksum_ref;
printf("Image checksum...OK!\n");

return 0;
--
2.20.1