From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6DC1C433EF for ; Mon, 25 Oct 2021 13:14:29 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3B97E60F0F for ; Mon, 25 Oct 2021 13:14:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 3B97E60F0F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3393B83549; Mon, 25 Oct 2021 15:13:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="McngaW6Q"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3E27783530; Mon, 25 Oct 2021 15:13:32 +0200 (CEST) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 223BF8355D for ; Mon, 25 Oct 2021 15:13:18 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=kabel@kernel.org Received: by mail.kernel.org (Postfix) with ESMTPSA id 04A1A60FBF; Mon, 25 Oct 2021 13:13:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1635167596; bh=Vic8yg6gvLG0idezl9fj4+0TsjB1FPv5MLdyaDCrFFI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=McngaW6QuXcZiv3RzaaB4cRwDNmr2C5dBOEN0fTgGRiXpCF4eWc6JnN1LZWNgYVXn EqzIGsWlPgJcHQ+MeTH+bUL+cmMd9zFnhvLe7vqPw7Y0XjcRUkv/rmooasb/HsjnH9 x8wW44sqEOGNjrvudEisNd+XFrlgZmsMuJcpDzt9M9QX/6Sip6xbQTVXbo4K58g879 e7SbZcba8havI1htDL2jDb5qNlvoXnBFed3e0VLOQT/sVhukI19voFDuK9uD3GbAEO SiXAHBmsv2yyr1dyzCo+bQFwO19CWQd+R9fnq8NvLVHoSLIS2P/sMwWMhjOs/tDeDe 4d81lx13EVnsA== From: =?UTF-8?q?Marek=20Beh=C3=BAn?= To: Stefan Roese Cc: u-boot@lists.denx.de, =?UTF-8?q?Pali=20Roh=C3=A1r?= , =?UTF-8?q?Marek=20Beh=C3=BAn?= 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 Message-Id: <20211025131304.21310-7-kabel@kernel.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211025131304.21310-1-kabel@kernel.org> References: <20211025131304.21310-1-kabel@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean From: Pali Rohár 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 [ refactored ] Signed-off-by: Marek Behún --- 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