public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: "Marek Behún" <kabel@kernel.org>
To: Stefan Roese <sr@denx.de>
Cc: u-boot@lists.denx.de, "Pali Rohár" <pali@kernel.org>,
	"Marek Behún" <marek.behun@nic.cz>
Subject: [PATCH u-boot-marvell 06/13] tools: kwboot: Recalculate 4-byte data checksum after injecting baudrate code
Date: Mon, 25 Oct 2021 15:12:57 +0200	[thread overview]
Message-ID: <20211025131304.21310-7-kabel@kernel.org> (raw)
In-Reply-To: <20211025131304.21310-1-kabel@kernel.org>

From: Pali Rohár <pali@kernel.org>

If data part of image is modified, update 4-byte data checksum.

It looks like A385 BootROM does not verify this checksum for image
loaded via UART, but we do not know if other BootROMs are also ignoring
it. It is always better to provide correct checksum.

Signed-off-by: Pali Rohár <pali@kernel.org>
[ refactored ]
Signed-off-by: Marek Behún <marek.behun@nic.cz>
---
 tools/kwboot.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/kwboot.c b/tools/kwboot.c
index bf26a667b7..1131c2eb1c 100644
--- a/tools/kwboot.c
+++ b/tools/kwboot.c
@@ -1544,6 +1544,9 @@ kwboot_img_patch(void *img, size_t *size, int baudrate)
 		kwboot_printv("Injecting code for changing baudrate back\n");
 		_inject_baudrate_change_code(img, size, 1, baudrate, 115200);
 
+		/* Update the 32-bit data checksum */
+		*kwboot_img_csum32_ptr(img) = kwboot_img_csum32(img);
+
 		/* recompute header size */
 		hdrsz = kwbheader_size(hdr);
 	}
-- 
2.32.0


  parent reply	other threads:[~2021-10-25 13:14 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-25 13:12 [PATCH u-boot-marvell 00/13] Yet another kwboot improvements Marek Behún
2021-10-25 13:12 ` [PATCH u-boot-marvell 01/13] tools: kwboot: Initialize rfds to zero Marek Behún
2021-10-26  5:41   ` Stefan Roese
2021-10-25 13:12 ` [PATCH u-boot-marvell 02/13] tools: kwboot: Fix initialization of tty device Marek Behún
2021-10-26  5:41   ` Stefan Roese
2021-10-25 13:12 ` [PATCH u-boot-marvell 03/13] tools: kwboot: Reserve enough space for patching kwbimage in memory Marek Behún
2021-10-26  5:42   ` Stefan Roese
2021-10-25 13:12 ` [PATCH u-boot-marvell 04/13] tools: kwboot: Validate 4-byte image data checksum Marek Behún
2021-10-26  5:43   ` Stefan Roese
2021-10-25 13:12 ` [PATCH u-boot-marvell 05/13] tools: kwboot: Inject baudrate change back code after data part Marek Behún
2021-10-26  5:43   ` Stefan Roese
2021-10-25 13:12 ` Marek Behún [this message]
2021-10-26  5:44   ` [PATCH u-boot-marvell 06/13] tools: kwboot: Recalculate 4-byte data checksum after injecting baudrate code Stefan Roese
2021-10-25 13:12 ` [PATCH u-boot-marvell 07/13] tools: kwboot: Correctly set configuration of UART for BootROM messages Marek Behún
2021-10-26  5:45   ` Stefan Roese
2021-10-25 13:12 ` [PATCH u-boot-marvell 08/13] tools: kwboot: Show verbose message when waiting for baudrate change magic Marek Behún
2021-10-26  5:45   ` Stefan Roese
2021-10-25 13:13 ` [PATCH u-boot-marvell 09/13] tools: kwboot: Simplify code for aligning image header Marek Behún
2021-10-26  5:45   ` Stefan Roese
2021-10-25 13:13 ` [PATCH u-boot-marvell 10/13] tools: kwboot: Do not modify kwbimage header before increasing its size Marek Behún
2021-10-26  5:46   ` Stefan Roese
2021-10-25 13:13 ` [PATCH u-boot-marvell 11/13] tools: kwboot: Calculate real used space in kwbimage header when calling kwboot_img_grow_hdr() Marek Behún
2021-10-26  5:48   ` Stefan Roese
2021-10-25 13:13 ` [PATCH u-boot-marvell 12/13] tools: kwboot: Change retry loop from decreasing to increasing Marek Behún
2021-10-26  5:49   ` Stefan Roese
2021-10-25 13:13 ` [PATCH u-boot-marvell 13/13] tools: kwboot: Resend first 3 xmodem retry packets immediately Marek Behún
2021-10-26  5:50   ` Stefan Roese
2021-10-25 14:39 ` [PATCH u-boot-marvell 00/13] Yet another kwboot improvements Stefan Roese
2021-10-25 14:42   ` Pali Rohár
2021-10-25 15:15     ` Stefan Roese
2021-10-26  8:33       ` Pali Rohár
2021-10-26  8:45         ` Stefan Roese
2021-10-26  9:06           ` Pali Rohár
2021-10-26 11:09             ` Stefan Roese
2021-10-26 12:40               ` Pali Rohár
2021-10-26 13:06                 ` Marek Behún
2021-10-26 14:06                   ` Stefan Roese
2021-10-26 14:21                 ` Stefan Roese
2021-10-26 14:48                   ` Pali Rohár
2021-10-26 15:13                     ` Stefan Roese
2021-10-26 15:20                       ` Marek Behún
2021-10-26 15:25                         ` Stefan Roese
2021-10-26 15:34                           ` Marek Behún
2021-10-26 15:40                             ` Stefan Roese
2021-10-26 18:48                   ` Pali Rohár
2021-10-27  5:09                     ` Stefan Roese
2021-10-27 13:52                       ` Pali Rohár
2021-10-27 14:10                         ` Pali Rohár
2021-10-27 15:08                           ` Marek Behún
2021-10-27 15:13                             ` Pali Rohár
2021-10-27 15:27                           ` Stefan Roese
2021-10-27 15:29                             ` Pali Rohár
2021-10-27 21:03                             ` Pali Rohár
2021-10-28  6:16                               ` Stefan Roese
2021-10-28 11:04                                 ` Pali Rohár
2021-10-28 14:20                                   ` Stefan Roese
2021-10-28 17:00                                     ` Pali Rohár
2021-10-29  4:44                                       ` Stefan Roese
2021-11-03  7:46 ` Stefan Roese

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=20211025131304.21310-7-kabel@kernel.org \
    --to=kabel@kernel.org \
    --cc=marek.behun@nic.cz \
    --cc=pali@kernel.org \
    --cc=sr@denx.de \
    --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