Состоялся релиз ядра Linux 3.17, среди наиболее важных улучшений и изменений:
- Включена поддержка техники маппинга памяти memfd, суть которого заключается в идентификации области памяти через файловый дескриптор, который может передаваться между процессами. Это позволяет после выделения памяти обращаться к ней по файловому дескриптору, то есть фактически как с файлом.
- Добавлена техника запечатывания файла (file sealing), позволяющая ограничить операции, которые могут выполняться над файлом. Например можно запретить на уровне файлового дескриптора изменение содержимого файла.
- Теперь по умолчанию включена технология Render Nodes, предназначенная для разделения монолитных устройств /dev/dri/card{num} на две категории. Первая категория Rendering Nodes (/dev/dri/renderD{num}) отвечает за аппаратное ускорение рендеринга и обсчет вычислительных заданий GPGPU. Вторая ModeSetting Nodes (/dev/dri/modeset{num}) обеспечивает переключение видеорежимов и управление экраном. Это позволяет более гибко управлять правами доступа и предоставляет возможность выполнения вычислений на GPU или рендеринга без вывода на экран и без привязки к активному дисплею.
- Представлена реализация API DMA-BUF, позволяющего организовать совместное использования буферов драйверами и различными подсистемами, а также синхронизировать работу устройств (cross-device synchronization). Теперь она доступна для всех модулей ядра.
- Для утилиты perf добавлена возможность трассировки обращений к невыделенным страницам памяти (page-fault) и генерации связанной с такими обращениями статистики.
- При использовании файловой системы XFS теперь необходима сборка ядра с 64-разрядным числом секторов.
- Добавлена начальная поддержка Multiqueue SCSI, рассчитанного на организацию многопоточного доступа к данным на многоядерных системах и позволяющего эффективно использовать возможности современных SSD-накопителей.
- Добавлен системный вызов kexec_file_load(), позволяющий выполнить проверку по цифровой подписи для нового ядра, перед его запуском с использованием механизма kexec. Ранее функцию загрузки нового ядра из уже запущенного ядра Linux (kexec) приходилось отключать при использовании UEFI Secure Boot, так как невозможно было гарантировать сохранение цепочки доверия.
- Для криптографической подсистемы добавлена поддержка детерминированного генератора псевдослучайных чисел, соответствующего спецификации NIST SP800-90A.
- В подсистему LSM (linux security module) добавлен новый hook kernel_fw_from_file(), который можно использовать для проверки целостности бинарных прошивок перед их загрузкой ядром.
- Полностью прекращена поддержка архитектур POWER3 и rs64;
- Также прекращена поддержка систем Samsung S5P6440, S5P6450 и S5PC100.
- В код для архитектуры ARM64 добавлена поддержка четырёхуровневых таблиц страниц памяти, что позволило значительно расширить размер адресуемой виртуальной памяти.
- Гипервизор KVM адаптирован для big-endian ARM-систем.
- Для DRM-драйвера Nouveau устранены проблемы с использованием GPU Kepler, добавлена поддержка режима Zero Bandwidth Clear для GPU Fermi, Kepler и Maxwell.
- Поддержка чипов «Hawaii» (Radeon R9 290) добавлена в DRM-драйвер Radeon.
- Проведена подготовка к поддержке DRM-драйвером Intel Atom SoC Cherry Trail, добавлена поддержка Universal plane.