From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 16 Feb 2026 09:48:42 +0100 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vruHZ-002GGO-2u for lore@lore.pengutronix.de; Mon, 16 Feb 2026 09:48:42 +0100 Received: from bombadil.infradead.org ([2607:7c80:54:3::133]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1vruHZ-0002jI-DX for lore@pengutronix.de; Mon, 16 Feb 2026 09:48:42 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=yPBl6dwsAk9GRwWSFix10zyg3Y3SqtTT8QunESz1vX4=; b=MIqX7UNs4mjTkfFMt59O7cjLEZ oDIPzb3oSQwP6UqpQQegP1vgjzXoh50TmKPxGpLGQx1iIqjwmMWzsEds0eOmmbY2Ulx+aPCrNkEw4 bbaNqcHP/gVagbqt7Zdi0Kcl4R/sZYcXBeSz4C9zl4IZodoEfup2XHSxL2iiMG0mag493++k/GYKA cJbkfoyAbnk4FX7GkILroT9G2qn8ajxkM/q+hd1QrikGgn5H88Nty/T7dWMaemRa7Ey+upufr+lJ2 gSR5lVRy7v4TndV56LXeNBdg6CXQ362dxHJOA2HWfqXrNIpIzCsHjJws1n4tri2cfoHGTzZz5F7C+ KHUC8nKA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vruHA-00000006Bg1-0boB; Mon, 16 Feb 2026 08:48:16 +0000 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vruH1-00000006BZe-3iQl for barebox@lists.infradead.org; Mon, 16 Feb 2026 08:48:13 +0000 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1vruH0-0002Im-6w; Mon, 16 Feb 2026 09:48:06 +0100 Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vruGy-0012DC-23; Mon, 16 Feb 2026 09:48:05 +0100 Received: from [::1] (helo=dude05.red.stw.pengutronix.de) by dude05.red.stw.pengutronix.de with esmtp (Exim 4.98.2) (envelope-from ) id 1vruGz-0000000Eudd-3jXv; Mon, 16 Feb 2026 09:48:05 +0100 From: Ahmad Fatoum To: barebox@lists.infradead.org Cc: Ahmad Fatoum , "Claude Opus 4.6" Date: Mon, 16 Feb 2026 09:44:03 +0100 Message-ID: <20260216084758.3548990-4-a.fatoum@pengutronix.de> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260216084758.3548990-1-a.fatoum@pengutronix.de> References: <20260216084758.3548990-1-a.fatoum@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260216_004810_748097_F6CF80E2 X-CRM114-Status: UNSURE ( 8.99 ) X-CRM114-Notice: Please train this message. X-BeenThere: barebox@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "barebox" X-SA-Exim-Connect-IP: 2607:7c80:54:3::133 X-SA-Exim-Mail-From: barebox-bounces+lore=pengutronix.de@lists.infradead.org X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-4.0 required=4.0 tests=AWL,BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.2 Subject: [PATCH master 03/39] efi: loader: fix CRC32 computation in table header update X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on metis.whiteo.stw.pengutronix.de) The CRC32 is computed over the full table header, which includes the crc32 field itself. Without zeroing the field first, the old CRC value is included as input data in the new computation, producing incorrect results on any update after the first. The UEFI specification requires the field to be zero during CRC32 computation. Co-Authored-By: Claude Opus 4.6 Signed-off-by: Ahmad Fatoum --- efi/loader/table.c | 1 + 1 file changed, 1 insertion(+) diff --git a/efi/loader/table.c b/efi/loader/table.c index 0c200365b835..dc2ec893cb2e 100644 --- a/efi/loader/table.c +++ b/efi/loader/table.c @@ -13,6 +13,7 @@ */ void __efi_runtime efi_update_table_header_crc32(struct efi_table_hdr *table) { + table->crc32 = 0; table->crc32 = __pi_crc32(0, table, table->headersize); } -- 2.47.3