🐧 Линус выкатил ядро Linux 7.
Торвальдс принял больше 11 тысяч коммитов. Начнемс с фундаментального. Во-первых, поддержка Rust в ядре лишилась статуса экспериментальной. Язык закрепился в мейнлайне окончательно.
Во-вторых, разрабы провели рефакторинг работы с памятью. Классическое выделение через kmalloc(sizeof(*ptr)) массово заменяют на макросы семейства kmalloc_obj(), которые работают на основе типа данных, а не их байтового размера. Это на корню рубит целый класс багов с переполнением буфера из-за неверного подсчета памяти 👍
В-третьих, из ядра выкинули старый код загрузки initrd на базе linuxrc. Теперь единственным верным способом загрузки остается initramfs.
По файловым системам и хранилищам завезли отличные фичи для прода:
🟢 В ядро вмерджили абсолютно пустую, неизменяемую файловую систему - nullfs. Идеальный костыль для init-процессов. Теперь юзерспейс может монтировать поверх нее нужные ФС и делать pivot_root(), не заморачиваясь с очисткой содержимого старого initramfs.
🟢 XFS получила систему автономного самовосстановления.
🟢 NFS версии 4.1 стала дефолтной. Демон NFSD обзавелся динамическим пулом потоков, который сам масштабируется под нагрузкой. Плюс закрыта старая логическая дыра... NFS больше не будет экспортировать служебные псевдо-ФС ядра (типа pidfs и nsfs), так как они требуют специфичной обработки прав доступа.
🟢 Оптимизировали сброс страниц в Zram. Раньше сжатые в RAM данные перед выгрузкой на физический диск (writeback) приходилось сначала распаковывать. Теперь механизм умеет писать на диск сжатые данные напрямую, минуя декомпрессию.
Контейнерные рантаймы (Docker, Podman) смогут использовать новый флаг OPEN_TREE_NAMESPACE. Он позволяет открыть новое пространство имен монтирования без полного клонирования существующего. Старт новых контейнеров на серверах с тысячами маунт-поинтов станет ощутимо быстрее.
Также ядро начало готовиться к квантовому будущему... добавлена поддержка пост-квантовых цифровых подписей ML-DSA для аутентификации модулей ядра. А в подсистему SELinux завезли контроль доступа для BPF-токенов.
Никаких революций в 7.0 не произошло, просто ядро становится безопаснее, контейнеры грузятся быстрее, а легаси-код скидывают в /dev/null. Финальный стейбл ожидается в середине апреля 🐧
💾Обсудить можно в Чате ИТ