Линус Торвальдс анонсировалвыход Linux 6.7 после двухмесячной разработки. Основные изменения включают интеграцию файловой системы Bcachefs, прекращение поддержки Itanium, возможность работы Nouveau с прошивками GSP-R, поддержка TLS-шифрования в NVMe-TCP, возможность использования исключений в BPF, поддержка futex в io_uring, оптимизация fq планировщика, поддержка расширения TCP-AO и возможность ограничения сетевых соединений в механизме защиты Landlock, добавлено управление доступом к user namespace и io_uring через AppArmor.
Версия 6.7 включает 18405 правок от 2066 разработчиков, с размером патча 72 МБ, затрагивающим 13467 файлов, с 906147 добавленными и 341048 удаленными строками кода. Примерно 45% изменений связаны с драйверами устройств, 14% – с обновлением кода для конкретных архитектур, 13% – с сетевым стеком, 5% – с файловыми системами, и 3% – с внутренними подсистемами ядра.
Важные нововведенияв ядре 6.7:
- Дисковая подсистема, ввод/вывод и файловые системы:
- Включен код файловой системы Bcachefs , в которой предпринята попытка добиться уровня производительности, надёжности и масштабируемости, свойственного XFS, в сочетании с элементами расширенной функциональности, имеющейся в Btrfs и ZFS.
- Btrfs получил упрощенный режим квот и новую структуру данных “stripe tree”. Структура пока задействована в реализациях RAID0 и RAID1 для зонированных блочных устройств. В будущем данную структуру планируют использовать и в RAID более высокого уровня
- В Ceph добавлена поддержка маппинга идентификаторов пользователей.
- В efivarfs внедренавозможность указания uid и gid при монтировании.
- В exFAT добавленыioctl-вызовы для чтения и изменения атрибутов ФС. Добавлена обработка каталогов нулевого размера.
- F2FS поддерживаетблоки 16K.
- Autofs переведенна новый API монтирования.
- OverlayFS получил новые опции монтирования “lowerdir+” и “datadir+”. Добавлена поддержка вложенного монтирования OverlayFS с xattrs.
- В XFS проведена оптимизация нагрузки на CPU в коде распределения блоков в реальном времени. Обеспечена возможность одновременного выполнения операций чтения и FICLONE.
- EXT2 переведенна использование фолиантов страниц памяти.
- Прекращена поддержка архитектуры ia64 (Intel Itanium).
- Добавлен параметр командной строки ядра “ia32_emulation”, позволяющий на стадии загрузки включать и отключать поддержку эмуляции 32-разрядного режима в ядрах, собранных для архитектуры x86-64.
- Внесеныизменения из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра.
- В cgroup-контроллер cpuset добавлены новые настройки.
- В fscrypt внедрена возможность блочного шифрования.
- В iommufd добавлено отслеживание “dirty” данных.
- В механизм Landlock добавлены новые функции управления доступом.
- В AppArmor добавлена возможность управления доступом к io_uring и user namespaces.
- В NVMe-TCP добавлена поддержка TLS-шифрования.
- Оптимизирован планировщик fq.
- В протокол TCP добавлена опциональная возможность использования временных меток (TCP TS) с микросекундной точностью (RFC 7323).
- Nouveau получил поддержку прошивок GSP-RM от NVIDIA RTX 20+.
- В драйвере AMDGPU реализована поддержка GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 и DML2. Улучшена поддержка бесшовной загрузки (без мерцания при переключении видеорежима).
- В i915 добавлена поддержка чипов Intel Meteor Lake и добавлена начальная реализация Intel LunarLake (Xe 2).
Кроме того, латиноамериканский фонд свободного ПО сформировал вариант полностью свободного ядра 6.7 – Linux-libre 6.7-gnu , очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 6.7 обновлён код чистки блобов в различных драйверах и подсистемах, например, в драйверах amdgpu, nouveau, adreno, mwifiex, mt7988, ath11k, avs и btqca. Удалён код чистки драйверов localtalk и rtl8192u из-за их исключения из состава ядра. Убраны лишние компоненты чистки драйверов xhci-pci, rtl8xxxu и rtw8822b, ранее добавленные по ошибке. Проведена чистка имён блобов в dts-файлах для архитектуры Aarch64. Удалены блобы в новых драйверах mt7925, tps6598x, aw87390 и aw88399.