From patchwork Sat Dec 25 19:50:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Pierre Bourdon X-Patchwork-Id: 1573184 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Z00HZkNS; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JLvg52zFBz9t5K for ; Sun, 26 Dec 2021 06:50:41 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6947A836E5; Sat, 25 Dec 2021 20:50:36 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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=gmail.com header.i=@gmail.com header.b="Z00HZkNS"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 912F883731; Sat, 25 Dec 2021 20:50:34 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9657F82FD0 for ; Sat, 25 Dec 2021 20:50:31 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=delroth@gmail.com Received: by mail-wm1-x333.google.com with SMTP id f134-20020a1c1f8c000000b00345c05bc12dso6343629wmf.3 for ; Sat, 25 Dec 2021 11:50:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=eZL3IrOrwORybc6IQ13Td7C0zDtEh4Og3kesYZBmK5k=; b=Z00HZkNSjl7fe2UN2UdwxjCewA6R7219Ij5lIlsCNx/AaGFYXYBUcDLWuz90F/+mIG LnlH88kI8i31R4clw5RIH7Y396g+nYbd3V/WJlsVQklCGPM07cndF4doBkfDwM5NAvZa HcsK6eXAzzygHS9/aBWsHcajTk7gvyJFRgL671KLWEZHypl0VvBo+bBHpkkl1+qFP4q9 7ZjmjXcFO46iruxb6mbky7uZMuUksWhdfMHfoRviDOPR7OHjnIue1v57lZqE6iSq4iDT ggcczVKvJ6oxIJrPq3lMcA76kd9XVhxAtxyY5+ok/QLTGq/CyAhw61kMoxnmwvWZttTi T5VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=eZL3IrOrwORybc6IQ13Td7C0zDtEh4Og3kesYZBmK5k=; b=3p9X94CwJhyFo8f+ZygseK1dC0sMC6LeKBgdDsvUowbEf3QPSSg9p8H++5F41K7h23 4+uEXhRlXvu5OproV/9YZb7YvFmYB9Ag76mouP4WY2mVQx8zhiGWS38StSk+pQO7w1ki 3nLiLfjzfzeo9uVp6axw0rjIA3h29VTZuMypuJ8so/ea0lUUHIlU+ckLIgx49SMArFng 21j+o635u9pFkJPLaMVyJHM1tnR7mhHfgHOytgJiKrxHD/Ye0POHM3Z7L8sxtqmrCWPV Rm8Ql5FMselZOSHA7U+S0mYgdZvg6eH2VojG9kOGzQACF+jRIxSx+m2B4ocIPzWEYwww tN7w== X-Gm-Message-State: AOAM532PmrHUE5F4gi6LDMGp5v6BAajZwukABGzpTlFikpxdIuckL5fb YjmcI4Xwya1aSohDf/pjmG+nREIS4LM= X-Google-Smtp-Source: ABdhPJxhDAN7UCb98O9jWD8H+nEzPNjq6qA+a41Hrs4vBKNUx8v856i7aWXPY9oPDZ9XGmncl5XUwg== X-Received: by 2002:a1c:2187:: with SMTP id h129mr8275325wmh.34.1640461830890; Sat, 25 Dec 2021 11:50:30 -0800 (PST) Received: from lowell.delroth.net ([2a02:168:6426::10]) by smtp.gmail.com with ESMTPSA id l26sm10791803wme.36.2021.12.25.11.50.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Dec 2021 11:50:30 -0800 (PST) From: Pierre Bourdon To: u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , =?utf-8?q?Marek_Beh=C3=BA?= =?utf-8?q?n?= , Pierre Bourdon Subject: [PATCH] tools: kwbimage: Fix checksum calculation for v1 images Date: Sat, 25 Dec 2021 20:50:19 +0100 Message-Id: <20211225195019.1509965-1-delroth@gmail.com> X-Mailer: git-send-email 2.34.0 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.38 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 Recent changes caused fields in the image main header to be modified after the header checksum had already been computed. Move the checksum computation to once again be the last operation performed on the header. Fixes: 2b0980c24027 ("tools: kwbimage: Fill the real header size into the main header") Signed-off-by: Pierre Bourdon Reviewed-by: Pali Rohár Reviewed-by: Stefan Roese --- tools/kwbimage.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/kwbimage.c b/tools/kwbimage.c index 875f636c7a..0951d7861c 100644 --- a/tools/kwbimage.c +++ b/tools/kwbimage.c @@ -1398,9 +1398,6 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, headersz, image, secure_hdr)) return NULL; - /* Calculate and set the header checksum */ - main_hdr->checksum = image_checksum8(main_hdr, headersz); - *imagesz = headersz; /* Fill the real header size without padding into the main header */ @@ -1410,6 +1407,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, main_hdr->headersz_lsb = cpu_to_le16(headersz & 0xFFFF); main_hdr->headersz_msb = (headersz & 0xFFFF0000) >> 16; + /* Calculate and set the header checksum */ + main_hdr->checksum = image_checksum8(main_hdr, headersz); + return image; }