uefi: correct CRC algorithm in table header docs

The spec mandates the standard CRC-32 (ITU-T V.42 / IEEE 802.3,
polynomial 0x04C11DB7) for EFI_TABLE_HEADER.CRC32, not CRC-32C
(Castagnoli, polynomial 0x1EDC6F41). The crate never computes this
checksum itself, but anyone verifying or recomputing table CRCs based
on this doc got mismatches on every conforming system.

Spec: 2.11, 4.2.1. EFI_TABLE_HEADER
This commit is contained in:
Philipp Schuster 2026-08-23 12:27:39 +02:00
parent 0d6da74fcb
commit ca8e53b904
No known key found for this signature in database

View file

@ -12,8 +12,8 @@ pub struct Header {
pub revision: Revision,
/// The size in bytes of the entire table.
pub size: u32,
/// 32-bit CRC-32-Castagnoli of the entire table,
/// calculated with this field set to 0.
/// Standard CRC-32 checksum (ITU-T V.42, polynomial 0x04C11DB7) of the
/// entire table, calculated with this field set to 0.
pub crc: u32,
/// Reserved field that must be set to 0.
_reserved: u32,