Драйверы файловых систем Apple HFS/HFS получат множество исправлений в Linux 6.17

В начале этого года появились разговоры о том, что Linux может отказаться от драйверов файловых систем Apple HFS и HFS, так как они были невостербованы в течение десяти лет и оказались обременительными в обслуживании. После этого некоторые разработчики взялись за улучшение поддержки кода файловых систем HFS и HFS. В Linux 6.17 мы видим некоторые из плодов этой работы.Несколько разработчиков с открытым исходным кодом представили улучшения/исправления HFS/HFS, которые теперь являются частью ядра Linux 6.17.

На данный момент у нас есть около 221 открытой проблемы в драйверах файловой системы HFS/HFS. В основном, xfstests выявляет большинство проблем, и многие тесты оставляют тома HFS/HFS в поврежденном состоянии. Йоханнес Тумширн сделал хорошую чистку в hfsplus_submit_bio(). Tetsuo Handa исправил проблему, о которой сообщал syzbot, в hfsplus_create_attributes_file() для случая повреждения метаданных файла атрибутов. Yangtao Li исправил проблему, о которой сообщал syzbot, удалив ненужный WARN_ON() в hfsplus_free_extents(). Остальные патчи содержат исправления: восстановление успешного выполнения generic/001 путем стирания удаленных узлов b-дерева; устранение проблемы slab-out-of-bounds в hfs_bnode_read() и hfsplus_bnode_read() путем проверки корректности смещения и длины при операции доступа к содержимому узла b-дерева; устранение slab-out-of-bounds read в hfsplus_uni2asc() для случая, когда запись узла b-дерева имеет искаженную длину имени, которая может быть больше HFSPLUS_MAX_STRLEN; устранение общей ошибки защиты в hfs_find_init() для случая начального создания объекта b-дерева.
- Вячеслав Дубейко объяснил в запросе изменения кода HFS/HFS для этого окна слияния

акже в Linux 6.17 для давних пользователей Apple появились улучшения в IEEE-1394 FireWire.