Ingo Molnar began sending out the pull requests today for the upcoming Linux 6.15 merge window of code areas he oversees for the Linux kernel. Among those early pulls are of the x86/build updates, which includes removing some seemingly useless CRC-32 checksum code from the kernel.
The x86/build pull request clears out more than 260 lines of code by dropping some CRC-32 checksum code and its build tool for generating it. This checksum code for the kernel image apparently holds no real use and just littering the source tree.
Linux developer Ard Biesheuvel who authored the patches for its removal explained on the patch series:
“Apart from some sanity checks on the size of setup.bin, the only remaining task carried out by the arch/x86/boot/tools/build.c build tool is generating the CRC-32 checksum of the bzImage. This feature was added in commit
7d6e737c8d2698b6 (“x86: add a crc32 checksum to the kernel image.”)
without any motivation (or any commit log text, for that matter). This checksum is not verified by any known bootloader, and given that
a) the checksum of the entire bzImage is reported by most tools (zlib, rhash) as 0xffffffff and not 0x0 as documented,
b) the checksum is corrupted when the image is signed for secure boot, which means that no distro ships x86 images with valid CRCs,it seems quite unlikely that this checksum is being used, so let’s just drop it, along with the tool that generates it.”
The commit that added this CRC-32 checksum landed back in 2008 to the kernel. Assuming no concerns raised by Linus Torvalds, this unneeded CRC-32 checksum code and its tool will be stripped out in Linux 6.15.