Новая версия Выпущено ядро Linux 6.10. несколько дней назад и при запуске этого, было представлено несколько довольно интересных разработок, таких как интеграция драйвера ntsync с примитивами синхронизации Windows NT и добавление компонентов DRM Panic, которые действуют аналогично «синему экрану смерти».
Было прекращено поддержка старых процессоров Alphas, возможность проверки целостности файловых систем на базе FUSE, Ограничение доступа к ioctl с помощью механизма Landlockи, среди прочего, новая подсистема для профилирования операций выделения памяти.
В цифрах эта версия содержит 14,564 1,989 исправления, внесенные 41 12,509 разработчиками, а размер патча составляет 547,663 МБ и затрагивает 312,464 15,680 файлов. Было добавлено 2,106 54 строки кода и удалено XNUMX XNUMX строки. Для сравнения, предыдущая версия включала XNUMX XNUMX исправлений от XNUMX XNUMX разработчиков и патч размером XNUMX МБ.
Что нового в Linux 6.10?
Среди основных новых функций, представленных в Linux 6.10, новая операция fcntl, F_DUPFD_QUERY, который позволяет процесс определяет, указывают ли два разных файловых дескриптора на один и тот же файл, предлагая альтернативу kcmp(), не раскрывая ненужную информацию и работая даже тогда, когда kcmp() отключен.
La проверка целостности в FUSE — это еще одна новая функция, благодаря которой FUSE теперь может использовать механизм fs-verity. для проверки целостности и подлинности файлов. Также добавлен новый протокол на основе netlink, что облегчает управление сервером NFS в ядре. В пользовательском пространстве для работы с этим протоколом была разработана утилита nfsdctl.
В дополнение к этому, начальная версия драйвера ntsync, который представляет символьное устройство /dev/ntsync и набор примитивов синхронизации, используемых в ядре Windows NT. Это продвижение может значительно повысить производительность игр для Windows, запускаемых через Wine, устраняя накладные расходы RPC в пользовательском пространстве.
Он был введен новая подсистема для профилирования операций выделения памяти в ядре Linux. Эта подсистема помогает обнаруживать утечки памяти и оптимизировать ее использование, а низкие накладные расходы позволяют использовать ее в производственных системах, а не только в отладочных сборках.
Был разработан первоначальная реализация аварийного драйвера ядра, называемый DRM-паника. Этот драйвер использует подсистему DRM для отображения визуального отчета. по цвету похож на «синий экран смерти». В будущих версиях будет добавлена возможность отображения логотипа и QR-кода в экстренных случаях.
Кроме того, была предложена опция init_mlocked_on_free При настройке на этапе загрузки этот параметр гарантирует, что память, защищенная с помощью mlock(), очищается, если она освобождается без разблокировки, что предотвращает сохранение криптографических ключей в памяти при внезапном завершении работы приложения.
Из Другие изменения и улучшения, которые были внесены в этой версии:
- Поддержка механизма Shadow Stack в подархитектуре x32, который блокирует многие эксплойты за счет использования аппаратных возможностей процессоров Intel для защиты от перезаписи адреса возврата при переполнении буфера.
- Системный вызов mseal был введен, чтобы позволить процессам блокировать изменения в определенных частях их адресного пространства.
- Rust продолжает использоваться в качестве второго языка для разработки драйверов и модулей ядра. Хотя поддержка Rust по умолчанию не включена, Rust версии 1.78 позволяет использовать стандартную библиотеку alloc.
- опция модуля dm-crypt для использования рабочих очередей с высоким приоритетом, повышающая производительность на высокопроизводительных серверах.
- Оптимизации в Btrfs: поддержка уменьшения нефиксированных карт экстентов, что полезно для снижения потребления памяти в системах с низким объемом оперативной памяти.
- Модуль Landlock LSM. В этом модуле, позволяющем ограничить взаимодействие определенных процессов с внешней средой, реализована возможность налагать ограничения на доступ к вызовам ioctl().
- Ext4: добавлен ioctl FS_IOC_GETFSSYSFSPATH для определения местоположения смонтированной файловой системы в иерархии /sys/fs.
- Bcachefs подготовлен для запуска fsck без размонтирования раздела, что повышает его надежность.
- Драйвер Panthor включен для графического процессора Mali 10-го поколения, который использует технологию CSF для снижения нагрузки на процессор и улучшения работы графического процессора.
- В драйвер i915 добавлены Intel Arc, PCI ID для новых дискретных видеокарт Intel Arc.
- Драйвер Xe DRM: продолжается работа над драйвером Xe DRM для графических процессоров на базе архитектуры Intel Xe с добавленной поддержкой процессоров Arrow Lake H и начальной поддержкой механизма SR-IOV.
- Драйвер AMDGPU теперь поддерживает SMU 14.0 и новые графические процессоры AMD в системах с архитектурой RISC-V.
Наконец, если вы заинтересованы в том, чтобы узнать больше об этом, вы можете ознакомиться с подробностями в следующую ссылку. Новая версия ядра теперь доступна в большинстве официальных каналов дистрибутивов, а также в kernel.org.