После двух месяцев разработки Линус Торвальдс представил новую версию «ядра Linux 5.7» в котором выделяются различные изменения, например новая реализация FS exFAT, модуль bareudp для создания туннелей UDP, защита на основе аутентификации указателя для ARM64, возможность прикреплять программы BPF к контроллерам LSM, новая реализация Curve25519, детектор блокировки разделения, совместимость BPF с PREEMPT_RT и многое другое.
Эта новая версия содержит 15033 исправлений от 1961 разработчиков., размер патча - 39 МБ (изменения коснулись 11590 570560 файлов, добавлено 297401 41 5.7 строк кода, удалено 16 XNUMX строка). Около XNUMX% всех изменений, внесенных в XNUMX, связаны с драйверами устройств, около XNUMX% изменений связаны с обновлением специального кода для аппаратных архитектур.
Что нового в ядре Linux 5.7
В этой новой версии новая реализация драйвера exFAT, основанный на текущей кодовой базе sdfat (2.x), разработанной Samsung. Ранее добавленный в ядро драйвер был основан на устаревшем коде Samsung. (версия 1.2.9) и отставал от нового драйвера примерно на 10% по производительности.
В случае XFS улучшены проверка метаданных и выполнение fsck. для активных перегородок. Предлагается библиотека для восстановления структур btree, которые в будущем будут использоваться для обработки xfs_repair и реализации возможности восстановления без размонтирования раздела.
Со стороны сетевой подсистемы, Netfilter включает изменения, которые значительно ускоряют обработку большого набора nftables., которые требуют проверки комбинации подсетей, сетевых портов, протокола и MAC-адресов.
Кроме того, подчеркивается, что добавлена поддержка механизмов аппаратного ускорения для инкапсуляции кадров Ethernet в 802.11 (Wi-Fi).
Принята треть патчей, переводящих инструменты ethtool ioctl () на использование интерфейса netlink. Новый интерфейс упрощает добавление расширений, улучшает обработку ошибок, позволяет отправлять уведомления при изменении состояния, упрощает взаимодействие между ядром и пользовательским пространством и уменьшает количество синхронизированных именованных списков.
А для виртуализации и безопасности добавлена аппаратная реализация Pointer Authentication, используя специализированные инструкции Процессор ARM64 для защиты от атак с использованием методов ROP в котором злоумышленник не пытается поместить свой код в память, а вместо этого работает с частями машинных инструкций, которые уже находятся в загруженных библиотеках, заканчивающихся инструкцией управления возвратом.
В SELinux параметр checkreqprot устарел, позволяющий отключить проверку защиты памяти при обработке правил (разрешает использование исполняемых областей памяти независимо от требований, указанных в правилах). Символьные ссылки kernfs могут наследовать контекст родительских каталогов.
Добавлена поддержка смешанного режима загрузки EFI, который позволяет загружать 64-битное ядро из 32-битной прошивки, работающей на 64-битном процессоре, без использования специализированного загрузчика.
Кроме того, также подсвечивается система, позволяющая идентифицировать и отлаживать разделенную блокировку, Это происходит при доступе к смещенным данным в памяти из-за того, что когда данные атомарной инструкции пересекаются двумя строками кэша ЦП.
Такие блокировки приводят к значительному падению производительности (на 1000 циклов медленнее, чем атомная операция с данными, попадающими в ту же строку кэша). В зависимости от параметра загрузки "split_lock_detect" ядро может обнаруживать такие блокировки на лету и выдавать предупреждения или отправлять сигнал SIGBUS приложению, вызвавшему сбой.
Выполнять
В конце концов если вы хотите узнать об этом больше Об этой новой версии ядра Linux вы можете ознакомиться с полным списком изменения в следующей ссылке.
Что касается доступности новой версии, вы должны знать, что теперь доступен для скачивания и компиляции с сайта Официальный сайт ядра Linux, в то время как в случае предварительно скомпилированных версий для некоторых дистрибутивов они уже доступны для некоторых.