今年早些时候,有传言称 Linux 可能会放弃其 Apple HFS 和 HFS+ 文件系统驱动程序,因为它们已经孤立了十年,并被证明是一种维护负担。随后,一些开发人员加紧维护 HFS 和 HFS+ 文件系统支持的代码。在 Linux 6.17 中,我们看到了这项工作的一些成果。
少数开源开发人员已经提交了 HFS/HFS+ 改进/修复,这些改进/修复现在是 Linux 6.17 内核的一部分。

Viacheslav Dubeyko 在拉取请求中解释了此合并窗口的 HFS/HFS+ 代码更改:
目前,我们在 HFS/HFS+ 文件系统驱动程序中大约有 221 个未解决的问题。大多数情况下,xfstests 揭示了大多数问题,并且多个测试使 HFS/HFS+ 卷处于损坏状态。
Johannes Thumshirn 在 hfsplus_submit_bio() 中进行了很好的清理。Tetsuo Handa 修复了 hfsplus_create_attributes_file() 中 syzbot 报告的属性文件元数据损坏的问题。Yangtao Li 通过删除 hfsplus_free_extents() 中的不必要 WARN_ON() 修复了 syzbot 报告的问题。
其余补丁包含修复:
(1) 通过擦除已删除的 b 树节点来恢复 generic/001 成功执行;
(2)通过访问b树节点内容的作,通过检查偏移量和长度的正确性,消除hfs_bnode_read()和hfsplus_bnode_read()中的板越界问题;
(3) 如果 b 树节点的记录损坏了可能大于 HFSPLUS_MAX_STRLEN 的名称长度,则消除 hfsplus_uni2asc() 中的 slab-out-of-bound 读取;
(4)消除hfs_find_init()中针对初始b树对象创建情况的一般保护故障。
对于担忧 Linux 系统下失去 Apple HFS/HFS+ 文件系统支持前景的用户,Linux 6.17 内核为相关开发工作注入了新的动力。此外,该版本还为长期使用苹果设备的用户带来了 IEEE-1394 FireWire(火线接口)的改进。
转自 Apple HFS/HFS+ File-System Drivers See Many Fixes In Linux 6.17 – Phoronix
Linuxeden开源社区