18405 исправлений и новые возможности операционной системы.
Линус Торвальдс анонсировал
выход 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.