The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз ядра Linux 5.2"
Отправлено opennews, 08-Июл-19 10:31 
После двух месяцев разработки Линус Торвальдс представил (https://lkml.org/lkml/2019/7/7/281) релиз ядра Linux 5.2 (https://www.kernel.org/). Среди наиболее заметных изменений: режим работы Ext4 без учёта регистра символов, раздельные системные вызовы для монтирования ФС, DRM-драйверы для GPU Mali 4xx/ 6xx/7xx, возможность обработки изменения значений sysctl в программах BPF,  device-mapper модуль dm-dust, защита от атак MDS, поддержка Sound Open Firmware для DSP, оптимизация производительности BFQ, доведение подсистемы  PSI (Pressure Stall Information) до возможности использования в Android.

В новую версию принято 15100 исправлений от 1882 разработчиков,
размер патча - 62 Мб (изменения затронули 30889 файлов, добавлено 625094 строк кода, удалено 531864 строк). Около 45% всех представленных в 5.2
изменений связаны с драйверами устройств, примерно 21% изменений имеют
отношение к обновлению кода специфичного для аппаратных архитектур, 12%
связано с сетевым стеком, 3% - файловыми системами и 3% c внутренними
подсистемами ядра. 12.4% всех изменений подготовлено компанией Intel, 6.3% - Red Hat, 5.4% - Google, 4.0% - AMD, 3.1% - SUSE, 3% - IBM, 2.7% - Huawei,  2.7% - Linaro, 2.2% - ARM, 1.6% - Oracle.


Основные (https://kernelnewbies.org/Linux_5.2) новшества (https://lwn.net/Articles/788532/):


-  
Дисковая подсистема, ввод/вывод и файловые системы

-  Для Ext4 добавлена  поддержка (https://www.opennet.ru/opennews/art.shtml?num=50581) работы без различия регистра символов  в именах файлов, которая активируется только в привязке к отдельным пустым каталогам при помощи нового атрибута "+F" (EXT4_CASEFOLD_FL). При установке данного атрибута на каталог все операции с файлами и подкаталогами внутри будут производиться без учёта регистра символов, в том числе регистр будет игнорироваться при операциях поиска и открытия файлов (например, файлы Test.txt, test.txt и test.TXT в подобных каталогах будут считаться одинаковыми). По умолчанию, за исключением каталогов с атрибутом "+F" , ФС продолжает быть регистрозависимой;

-  Унифицированы функции обработки символов UTF-8 в именах файлов, которые применяются при выполнении операций сравнения и нормализации строк;


-  В XFS добавлена инфраструктура для отслеживания состояния файловой системы и новый ioctl для запроса статуса работоспособности;


-  Добавлен новый модуль device-mapper "dm-dust (https://github.com/torvalds/linux/blob/master/Documentation/...)", позволяющий симулировать появление bad-блоков на носителе или ошибок при чтении с диска. Модуль позволяет упростить отдадку и тестирование приложений и различных систем хранения в условиях возможного появления сбоев;

-  Проведена (https://lwn.net/Articles/784267/) значительная оптимизация производительности планировщика  ввода/вывода BFQ. В условиях высокой нагрузки на ввод/вывод внесённые оптимизации позволяют (https://algo.ing.unimo.it/people/paolo/disk_sched/results.php) до 80% сократить время таких операций, как запуск приложений;


-  В интерфейс для асинхронного ввода/вывода io_uring добавлена новая операция IORING_OP_SYNC_FILE_RANGE, выполняющая действия, эквивалентные системному вызову sync_file_range() (http://man7.org/linux/man-pages/man2/sync_file_range.2.html), а также реализована возможность регистрации  eventfd с io_uring и получения уведомлений о завершении операций;
-  Добавлена серия системных вызовов для монтирования файловых систем: fsopen() (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...), open_tree() (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...), fspick() (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...), fsmount() (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...), fsconfig() (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...) и move_mount (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...). Данные системные вызовы позволяют раздельно обработать разные стадии монтирования (обработать суперблок, получить информацию об ФС, примонтировать, прикрепить к точке монтирования), которые ранее выполнялись при помощи общего системного вызова mount(). Раздельные вызовы дают возможность выполнять более сложные сценарии монтирования и отдельно выполнять такие операции, как перенастройка суперблока, включение опций, изменение точки монтирования и перенос в другое пространство имён. Кроме того, раздельная обработка позволяет точно определять причны вывода кодов ошибок и задавать несколько источников для многослойных ФС, таких как overlayfs;

-  Для файловой системы  CIFS добавлен  ioctl FIEMAP, обеспечивающий эффективное опоставление экстентов;

-  Улучшена реализация монтирования NFSv4 в режиме "soft" (при возникновении ошибки доступа к серверу в режиме "soft" вызов в сразу возвращает код ошибки, а при режиме "hard" управление не отдаётся до возобновления доступности ФС или таймаута). В новом выпуске обеспечена более точная обработка таймаута, ускорено восстановление после сбоя и добавлена новая опция монтирования "softerr", позволяющая изменить код ошибки, возвращаемый при наступления таймаута, на ETIMEDOUT;
-  В API nfsdcld, предназначенном для отслеживания состояния клиенов NFS, обеспечена возможность корректного отслеживания NFS-сервером состояния клиента при перезагрузке. Таким образом, демон nfsdcld  теперь может выполнять роль обработчика nfsdcltrack;

-  
Виртуализация и безопасность

-  Проведена работа по устранению мест в ядре, допускающих выполнение кода из доступных на запись отражённых областей памяти, что позволяет блокировать потенциальные бреши, которые могут быть эксплуатированы при атаке;

-  Добавлен новый параметр командной строки ядра "mitigations=", предотавляющий упрощённый способ управления включением тех или иных техник защиты от уязвимостей, связанных со спекулятивным выполнением инструкций в CPU. Передача "mitigations=off" выключает все имеющиеся методы, а применяемый по умолчанию режим "mitigations=auto"  включает заищиту, но не влияет на использование Hyper Threading. Режим "mitigations=auto,nosmt" дополнительно выключает Hyper Threading, если того требует метод защиты.

-  Добавлена поддержка эллиптических кривых GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3);

-  Код ядра почти избавлен (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...) от непрерывающихся  выражений casе в switch (без return или break после каждого блока case). Осталось исправить 32 из 2311 случая подобного использования switch, после чего при сборке ядра можно будет применять режим "-Wimplicit-fallthrough";

-  Для архитектуры PowerPC реализована поддержка аппаратных механизмов ограничения нежелательных путей для доступа ядра к данным в пространстве пользователя;

-  Добавлен код для блокирования  атак (https://www.opennet.ru/opennews/art.shtml?num=50684) класса MDS (Microarchitectural Data Sampling) в процессорах Intel. Проверить подверженность системе уязвимости можно через SysFS-переменную "/sys/devices/system/cpu/vulnerabilities/mds". Доступно (https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/m...) два режима защиты: полный, требующий  наличия обновлённого микрокода, и обходной, который полностью не гарантирует очистку буферов CPU при передаче управления в пространство пользователя или гостевой системе.  Для управления  режимами защиты в ядро добавлен параметр "mds=", который может принимать значения "full", "full,nosmt" (+ отключение Hyper-Threads) и "off";


-  
Сетевая подсистема

-  Добавлена (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linu...

URL: https://lkml.org/lkml/2019/7/7/281
Новость: https://www.opennet.ru/opennews/art.shtml?num=51051

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру