Ingo Molnar 今天开始为即将到来的 Linux 6.15 合并窗口发送拉取请求,该窗口是他负责监督的 Linux 内核代码区。这些早期的拉取包括 x86/build 更新,其中包括从内核中删除一些看似无用的 CRC-32 校验和代码。
x86/build 拉取请求通过删除一些 CRC-32 校验和代码及其生成代码的构建工具来清除 260 多行代码。内核映像的这个校验和代码显然没有实际用途,只是在源代码树中乱扔垃圾。
Linux 开发人员 Ard Biesheuvel 编写了用于删除它的补丁,他对补丁系列进行了解释:
“除了对 setup.bin 的大小进行一些健全性检查外,arch/x86/boot/tools/build.c 构建工具执行的唯一剩余任务是生成 bzImage 的 CRC-32 校验和。此功能是在提交
7d6e737c8d2698b6 中添加的(“x86: add a crc32 checksum to the kernel image.”
没有任何动机(或任何提交日志文本)。此校验和未经过任何已知引导加载程序的验证,并且鉴于
a) 大多数工具(zlib、rhash)将整个 bzImage 的校验和报告为 0xffffffff,而不是0x0记录的,
b) 当对映像进行安全启动时,校验和会损坏,这意味着没有发行版提供具有有效 CRC 的 x86 映像,这个校验和似乎不太可能被使用,所以让我们把它和生成它的工具一起放下。
添加此 CRC-32 校验和的提交于 2008 年登陆内核。假设 Linus Torvalds 没有提出任何担忧,这个不需要的 CRC-32 校验和代码及其工具将在 Linux 6.15 中被剥离。
转自 Linux 6.15 Plans To Drop Support For A Useless CRC-32 Checksum In The Kernel Image – Phoronix
兼容海量的PC运用, 大力培养和支持第三方开发人员。