Apple HFS/HFS+ File-System Drivers See Many Fixes In Linux 6.17
([Linux Storage] 2 Hours Ago
Apple HFS)
- Reference: 0001566327
- News link: https://www.phoronix.com/news/Apple-HFS-Linux-6.17
- Source link:
Earlier this year there was talk of [1]Linux potentially dropping its Apple HFS and HFS+ file-system drivers as they had been orphaned for a decade and proving to be a maintenance burden. Following that [2]some developers stepped up to better maintain the code for HFS and HFS+ file-system support. In Linux 6.17 we are seeing some of the fruits of that work.
A handful of open-source developers have submitted HFS/HFS+ improvements/fixes that are now part of the Linux 6.17 kernel.
Viacheslav Dubeyko explained in [3]the pull request of the HFS/HFS+ code changes for this merge window:
Currently, we have around 221 opened issues in HFS/HFS+ file system drivers. Mostly, xfstests reveal majority of the issues and multiple tests leave HFS/HFS+ volume in corrupted state.
Johannes Thumshirn has made nice cleanup in hfsplus_submit_bio(). Tetsuo Handa has fixed the syzbot reported issue in hfsplus_create_attributes_file() for the case of corruption the Attributes File's metadata. Yangtao Li has fixed the syzbot reported issue by removing the uneccessary WARN_ON() in hfsplus_free_extents().
The rest patches contains fixes:
(1) restoring generic/001 successful execution by erasing deleted b-tree nodes;
(2) eliminating slab-out-of-bounds issue in hfs_bnode_read() and hfsplus_bnode_read() by checking correctness of offset and length by operation of accessing b-tree node's content;
(3) eliminating slab-out-of-bounds read in hfsplus_uni2asc() for the case if b-tree node's record has corrupted length of a name that could be bigger than HFSPLUS_MAX_STRLEN;
(4) eliminating general protection fault in hfs_find_init() for the case of initial b-tree object creation.
So for those that were concerned about the prospects of losing Apple HFS/HFS+ support under Linux, there is some renewed lift in it with the Linux 6.17 kernel. Also for Linux 6.17 for longtime Apple users are [4]IEEE-1394 FireWire improvements .
[1] https://www.phoronix.com/news/Linux-2025-Sad-State-HFS
[2] https://www.phoronix.com/news/Apple-HFS-2025-Linux-Maintain
[3] https://lore.kernel.org/lkml/a557f6d129ea4cb7ab1d1ed2232bfa811810abe2.camel@dubeyko.com/
[4] https://www.phoronix.com/news/FireWire-IEEE-1394-Linux-6.17
A handful of open-source developers have submitted HFS/HFS+ improvements/fixes that are now part of the Linux 6.17 kernel.
Viacheslav Dubeyko explained in [3]the pull request of the HFS/HFS+ code changes for this merge window:
Currently, we have around 221 opened issues in HFS/HFS+ file system drivers. Mostly, xfstests reveal majority of the issues and multiple tests leave HFS/HFS+ volume in corrupted state.
Johannes Thumshirn has made nice cleanup in hfsplus_submit_bio(). Tetsuo Handa has fixed the syzbot reported issue in hfsplus_create_attributes_file() for the case of corruption the Attributes File's metadata. Yangtao Li has fixed the syzbot reported issue by removing the uneccessary WARN_ON() in hfsplus_free_extents().
The rest patches contains fixes:
(1) restoring generic/001 successful execution by erasing deleted b-tree nodes;
(2) eliminating slab-out-of-bounds issue in hfs_bnode_read() and hfsplus_bnode_read() by checking correctness of offset and length by operation of accessing b-tree node's content;
(3) eliminating slab-out-of-bounds read in hfsplus_uni2asc() for the case if b-tree node's record has corrupted length of a name that could be bigger than HFSPLUS_MAX_STRLEN;
(4) eliminating general protection fault in hfs_find_init() for the case of initial b-tree object creation.
So for those that were concerned about the prospects of losing Apple HFS/HFS+ support under Linux, there is some renewed lift in it with the Linux 6.17 kernel. Also for Linux 6.17 for longtime Apple users are [4]IEEE-1394 FireWire improvements .
[1] https://www.phoronix.com/news/Linux-2025-Sad-State-HFS
[2] https://www.phoronix.com/news/Apple-HFS-2025-Linux-Maintain
[3] https://lore.kernel.org/lkml/a557f6d129ea4cb7ab1d1ed2232bfa811810abe2.camel@dubeyko.com/
[4] https://www.phoronix.com/news/FireWire-IEEE-1394-Linux-6.17
muncrief