From nobody Tue May 21 12:53:02 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+111997+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+111997+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1701643264; cv=none; d=zohomail.com; s=zohoarc; b=H8Dwdu3MS/+Fd1ghYWWw18UVGpVgPKUCZgj031pRinn1qMIP2BPJdabP00o3STmFlX1uI38tRs5NRyG3Fg+/LAFHuwfFA5xZPWwjqPA31TFMcOAwocXcc19Frc1LqN8JLRh5aO0eBHkyUvc9PRvw3vnvvBkKWASMABdTpLo8uSE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1701643264; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:Sender:Subject:Subject:To:To:Message-Id; bh=fjB3roH0sUpuRqZp7qkrZnmY7ZBP9irXevar31+xZ/U=; b=fYUL+8I4AwFdmCd1FmVXCxRvPctNxw6yyfph83u0sdhb7sSe1ZEPS7nRsVHN4x00OUp2l3c2fhqGje2SlYsd2BIjn/mHfTYRXVRTDLF7nuGAeDUCCaJx/M8AOOrN77sCR1dcGpgRNRMFKE5R9mwGWlti8D2zUwcQcpxa/YGn26Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+111997+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1701643264661164.25500051594076; Sun, 3 Dec 2023 14:41:04 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=/PqIhV60VolqsmkW1d3lA8HSm7wrCcBqiK7t6lLS/xM=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; s=20140610; t=1701643264; v=1; b=p6othSkLsmz6QF4PXj6p2ZkmVDtMWPYO3fZCcaggaxiK706yoNdDXOVYdVbHjLup+74mMk3Y ZBVnUdMnrVkGYpECbbKqpL00C2GP1XNt4bAJUWJoeUSS+VHyhjejuCrSoV4KBblB1UzW8v1o6QP FfVJhOT221apGKvkQYaenQjA= X-Received: by 127.0.0.2 with SMTP id RIg2YY1788612xaHSrkeaWDZ; Sun, 03 Dec 2023 14:41:04 -0800 X-Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by mx.groups.io with SMTP id smtpd.web10.50794.1701643263562259723 for ; Sun, 03 Dec 2023 14:41:03 -0800 X-Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-40c09f5a7cfso6773275e9.0 for ; Sun, 03 Dec 2023 14:41:03 -0800 (PST) X-Gm-Message-State: OuVZ3f2CHLlWcqWCwfv3RSXNx1787277AA= X-Google-Smtp-Source: AGHT+IFUHYORKPcTlUXIJU8RVKlvy4U+hzh7CN4b5h2u6wetE5olEWimFOHu6vZkq6AgYlNkHtSnDA== X-Received: by 2002:a05:600c:2282:b0:40b:5e59:ea07 with SMTP id 2-20020a05600c228200b0040b5e59ea07mr1928684wmf.166.1701643261485; Sun, 03 Dec 2023 14:41:01 -0800 (PST) X-Received: from PC-PEDRO-ARCH.lan ([2001:8a0:7280:5801:9441:3dce:686c:bfc7]) by smtp.gmail.com with ESMTPSA id o17-20020a5d58d1000000b003333af25cb2sm4697685wrf.66.2023.12.03.14.41.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 14:41:01 -0800 (PST) From: "Pedro Falcato" To: devel@edk2.groups.io Cc: Pedro Falcato , Savva Mitrofanov , =?UTF-8?q?Marvin=20H=C3=A4user?= Subject: [edk2-devel] [PATCH] Ext4Pkg: Fix CRC16 checksumming on block groups Date: Sun, 3 Dec 2023 22:40:59 +0000 Message-ID: <20231203224059.23277-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pedro.falcato@gmail.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1701643266406100003 Old filesystems (around 2008 and older) do not use CRC32c but rather CRC16-ANSI. Previously, the CalculateCrc16Ansi function was broken and gave us wrong checksums. Adapt to the new interface. And while we're at it, fix the checksum algorithm itself - the crc16 algorithm just skips over the bg_checksum, and does not checksum it. This problem was found out-of-list when older ext4 filesystems (that use crc16 checksums) failed to mount with "corruption". BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4609 Signed-off-by: Pedro Falcato Cc: Savva Mitrofanov Cc: Marvin H=C3=A4user Reviewed-by: Marvin H=C3=A4user --- Features/Ext4Pkg/Ext4Dxe/BlockGroup.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Features/Ext4Pkg/Ext4Dxe/BlockGroup.c b/Features/Ext4Pkg/Ext4D= xe/BlockGroup.c index f34cdc5dbad7..d5642a5f155c 100644 --- a/Features/Ext4Pkg/Ext4Dxe/BlockGroup.c +++ b/Features/Ext4Pkg/Ext4Dxe/BlockGroup.c @@ -169,14 +169,10 @@ Ext4CalculateBlockGroupDescChecksumGdtCsum ( ) { UINT16 Csum; - UINT16 Dummy; =20 - Dummy =3D 0; - - Csum =3D CalculateCrc16Ansi (Partition->SuperBlock.s_uuid, 16, 0); + Csum =3D CalculateCrc16Ansi (Partition->SuperBlock.s_uuid, 16, CRC16ANSI= _INIT); Csum =3D CalculateCrc16Ansi (&BlockGroupNum, sizeof (BlockGroupNum), Csu= m); Csum =3D CalculateCrc16Ansi (BlockGroupDesc, OFFSET_OF (EXT4_BLOCK_GROUP= _DESC, bg_checksum), Csum); - Csum =3D CalculateCrc16Ansi (&Dummy, sizeof (Dummy), Csum); Csum =3D CalculateCrc16Ansi ( &BlockGroupDesc->bg_block_bitmap_hi, --=20 2.43.0 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111997): https://edk2.groups.io/g/devel/message/111997 Mute This Topic: https://groups.io/mt/102960519/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-