После двух месяцев разработки Линус Торвальдс на днях объявил о запуске новой версии ядра Linux 5.11. и в этом новом выпуске из наиболее заметных изменений мы можем упомянуть поддержку анклавов Intel SGX, новый механизм перехвата системных вызовов, виртуальную вспомогательную шину, быструю фильтрацию системных вызовов в seccomp, прекращение обслуживания архитектуры ia64, возможность инкапсулировать SCTP в UDP.
Новая версия получено 15480 исправлений от разработчиков 1991 года, размер патча 72 МБ (Изменения коснулись 12090 868,025 файлов, добавлено 261,456 XNUMX строк кода, удалено XNUMX XNUMX строк). Примерно 46% всех изменений, внесенных в 5.11, связаны с драйверами устройств., примерно 16% изменений связаны с обновлением конкретного кода аппаратных архитектур, 13% относятся к сетевому стеку, 3% относятся к файловым системам и 4% относятся к внутренним подсистемам ядра.
Основные новые возможности Linux 5.11
В этой новой версии ядра Linux 5.11 мы можем обнаружить, что добавлено несколько параметров монтирования в Btrfs для использования при восстановлении данных из поврежденных файловых систем, Помимо удаления поддержки ранее устаревшей опции монтирования «inode_cache», был подготовлен код для поддержки блоков с метаданными и данными размером меньше страницы (PAGE_SIZE), а также для поддержки распределения пространства по зонам.
Кроме того добавлен новый механизм перехвата системных вызовов, основанный на prctl () и позволяющий генерировать исключения из пользовательского пространства при доступе к определенному системному вызову и эмуляции его выполнения. Эта функция требуется в Wine и Proton для имитации системных вызовов Windows., что необходимо для обеспечения совместимости с играми и программами, которые напрямую выполняют системные вызовы без прохождения через Windows API (например, для защиты от несанкционированного использования).
Для архитектуры RISC-V, добавлена поддержка системы распределения памяти Contiguous Memory Allocator (CMA), который оптимизирован для выделения больших непрерывных областей памяти с использованием техники перемещения страниц. Для RISC-V, также реализованы инструменты для ограничения доступа к / dev / mem и учет времени обработки простоя.
Для систем 32-битный ARM, добавлена поддержка отладчика KASan (очиститель адресов ядра), обеспечивающий обнаружение ошибок при работе с памятью. Для 64-битной ARM реализация KASan была перемещена для использования тегов MTE (MemTag).
Что касается виртуализации и безопасности, системный вызов выделяется seccomp (), в котором добавлена поддержка режима быстрого ответа, который позволяет очень быстро определить, разрешен или запрещен конкретный системный вызов, на основе битовой карты постоянного действия, прикрепленной к процессу, что не требует запуска обработчика BPF.
Также мы можем найти Интегрированные компоненты ядра для создания анклавов и управления ими на основе технологии Intel SGX (Software Guard eXtensions), который позволяет приложениям выполнять код в изолированных и зашифрованных областях памяти, доступ к которым для остальной системы ограничен.
Для систем ARM64 добавлена возможность использования тегов расширения тегов памяти (MemTag) для адресов памяти обработчиков сигналов. Использование MTE включается путем указания параметра SA_EXPOSE_TAGBITS в Sigaction () и позволяет проверить правильность использования указателей для блокировки эксплуатации уязвимостей.
Наконец, со стороны контроллеров, Выделена поддержка первого дискретного хост-контроллера USB4 от Intel Maple Ridge, а также поддержку APU AMD «Green Sardine» (Ryzen 5000) и графических процессоров «Dimgrey Cavefish» (Navi 2), а также начальную поддержку APU AMD Van Gogh с ядром Zen 2 и графическими процессорами RDNA 2 (Navi 2). Добавлена поддержка новых идентификаторов APU Renoir (на основе процессора Zen 2 и графического процессора Vega).
Драйвер nouveau добавляет начальную поддержку графических процессоров NVIDIA на основе микроархитектуры «Ampere» (GA100, GeForce RTX 30xx), которая в настоящее время ограничена элементами управления видеорежимом.
Я видел, что они сделали коммит Valentine в ядре, и я остался с лицом, что?