Линус Торвальдс объявил о запуске новая версия ядра Linux 5.8 и в этом новом выпуске среди самых заметных изменений являются Детектор состояния гонки KCSAN, универсальный механизм отправки уведомлений в пользовательское пространство, аппаратная поддержка онлайн-шифрования, расширенные механизмы защиты для ARM64, поддержка российского процессора Байкал-Т1, возможность отдельно монтировать экземпляры процессов, реализация механизмов теневой защиты для стека вызовов ARM64 и BTI.
Эта новая версия ядро стал самым крупным по количеству изменений всех ядер за время существования проекта. При этом изменения не связаны ни с какой подсистемой, а касаются разных частей ядра и в основном связаны с внутренней обработкой и очисткой.
Основные новые возможности Linux 5.8
В этой новой версии ядра Linux 5.8 блокировка предусмотрена для загрузки модулей ядра, которые имеют разделы с кодом, в котором одновременно установлены биты, разрешающие выполнение и запись.
Сейчас можно создавать отдельные экземпляры процессов, разрешение нескольких точек монтирования процесса, смонтированных с разными параметрами, но отражающих одно и то же пространство имен pid.
Для платформы ARM64, реализована поддержка механизма Shadow-Call Stack, предоставляемый компилятором Clang для защиты от перезаписи адреса возврата функции в случае переполнения буфера в стеке.
Кроме того также добавлена поддержка инструкций ARMv8.5-BTI (Индикатор цели перехода) для защиты выполнения наборов инструкций, которые не должны ветвиться.
Добавлена аппаратная поддержка для онлайн-шифрования блочных устройств., посредством чего встроенные устройства шифрования, которые обычно встроены в диск, могут быть логически размещены между системной памятью и диском, выполняя прозрачное шифрование и дешифрование на основе ключей и алгоритма шифрования, указанного ядром.
Также в этой новой версии Включены рекомендации по использованию инклюзивной терминологии. которые приняты в документе, определяющем правила кодирования.
Кроме того, также выделен новый инструмент отладки KCSAN (Kernel Concurrency Sanitizer), предназначенный для динамического определения состояния гонки в ядре. Основное внимание при разработке KCSAN уделяется предотвращению ложных срабатываний, масштабируемости и простоте использования.
Еще одно важное изменение: se добавил новый драйвер dm-ebs в Device Mapper, который можно использовать для эмуляции меньшего размера логического блока (например, для эмуляции 512-байтовых секторов на дисках с размером сектора 4 КБ).
Btrfs улучшил обработку операций чтения в прямом режиме. При монтировании ускоренная проверка удаленных подключей и каталогов осталась без родительского элемента.
В Ext4 улучшена обработка ошибок ENOSPC при использовании многопоточности. Xattr добавляет поддержку GNU. * Пространство имен, используемое GNU Hurd.
к Ext4 и XFS, включена поддержка операций DAX (прямой доступ к файловым системам в обход кеша страниц без использования уровня устройства блокировки) относительно отдельных файлов и каталогов.
Кроме того, в ядро и утилиту ethtool была добавлена поддержка для тестирования подключенного сетевого кабеля и самодиагностики сетевых устройств.
В то время как для стека IPv6 добавлена поддержка алгоритма MPLS (Многопротокольная коммутация по меткам) для маршрутизации пакетов с использованием мультипротокольной коммутации по меткам (для IPv4 ранее поддерживался MPLS).
В конце концов для оборудования в этой новой версии мы можем обнаружить, что:
- Драйвер DRM для видеокарты Intel i915 включен по умолчанию
- Поддержка чипов Intel Tiger Lake (GEN12)
- Драйвер amdgpu добавляет поддержку формата пикселей FP16 и реализует возможность работы с зашифрованными буферами в видеопамяти.
- Поддержка датчиков мощности процессоров AMD Zen и Zen2 и датчиков температуры AMD Ryzen 4000 Renoir.
- В драйвер Nouveau добавлена поддержка формата модификатора NVIDIA.
- Драйвер MSM (Qualcomm) добавляет поддержку графических процессоров Adreno A405, A640 и A650.
- Добавлена внутренняя структура для управления ресурсами DRM (Direct Rendering Manager).
- Добавлена поддержка смартфонов Xiaomi Redmi Note 7 и Samsung Galaxy S2, а также Chromebook Elm / Hana.
- Дополнительные драйверы для ЖК-панелей: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
- Добавлена поддержка плат ARM и платформ Renesas "RZ / G1H", Realtek.
- Добавлена поддержка процессора MIPS Loongson-2K.