summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2023-01-29 18:38:11 +0100
committerStefan Roese <sr@denx.de>2023-03-01 06:39:17 +0100
commit7d9c083844cec1cbbd72494210af20f17b3b7642 (patch)
tree7a22a87b1719a68e5ea69ad31cc634d66f8efb36
parent40e3204c62dcf3d0411e67dc3d4863300f8e3fa5 (diff)
downloadu-boot-7d9c083844cec1cbbd72494210af20f17b3b7642.tar.gz
cmd: mvebu/bubt: Do not modify image in A8K check_image_header()
Change checksum verification code so it does require to modify image. Signed-off-by: Pali Rohár <pali@kernel.org>
-rw-r--r--cmd/mvebu/bubt.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c
index 820d342ae1..1b08ca9298 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;