Linux.org.ru: Новости's Journal
[Most Recent Entries]
[Calendar View]
Sunday, June 2nd, 2024
Time |
Event |
2:14p |
Новая активно используемая уязвимость в netfilter ядра Linux Агентство по кибербезопасности и защите инфраструктуры (U.S. Cybersecurity and Infrastructure Security Agency (CISA)) добавило в свой каталог активно используемых уязвимостей недавно найденную проблему в ядре Linux: CVE-2024-1086 Linux Kernel Use-After-Free Vulnerability.
Речь идёт о компоненте nf_tables , внутри встроенного в ядро фаервола netfilter , которая может быть эксплуатирована для эскалации локальных привилегий. Ошибка связана с неправильным взаимодействием функций nft_verdict_init() и nf_hook_slow() , которое приводит к двойному освобождению памяти.
Рекомендовано срочно обновиться или откатить ядро до версии перед коммитом f342de4e2f33e0e39165d8639387aa6c19dff660
linux, netfilter, безопасность, ядро | 2:46p |
Новая оптимизация функции memset() в glibc Инженер из Intel, Ноах Голдштейн, оптимизировал функцию memset() в библиотеке glibc. Данная оптимизация даёт прирост в производительности порядка 7.5% на десктопных версиях процессоров архитектур Skylake-X и Ice Lake. У серверных версий прирост в производительности немного ниже, прежде всего из-за более низкой общей производительности одиночного ядра.
В прежней реализации функции memset() использовалась ассемблерная инструкция rep stosb . До недавнего времени эта инструкция работала достаточно быстро, за счёт внутрипроцессорной оптимизации zero-over-zero writeback. Однако в этой оптимизации была найдена потенциальная уязвимость, которая может привести к атаке по побочному каналу. В резальтате оптимизация zero-over-zero writeback была отменена, что и привело к ухудшению производительности rep stosb . В новой версии memset() инструкция rep stosb всё ещё используется, но при выполнении более строгих условий.
Что именно изменилось можно понять по изменению следующего комментария в коде, который описывает подробности реализации memset()
Прежняя версия описания:
/* memset is implemented as:
1. Use overlapping store to avoid branch.
2. If size is less than VEC, use integer register stores.
3. If size is from VEC_SIZE to 2 * VEC_SIZE, use 2 VEC stores.
4. If size is from 2 * VEC_SIZE to 4 * VEC_SIZE, use 4 VEC stores.
5. On machines ERMS feature, if size is greater or equal than
__x86_rep_stosb_threshold then REP STOSB will be used.
6. If size is more to 4 * VEC_SIZE, align to 4 * VEC_SIZE with
4 VEC stores and store 4 * VEC at a time until done. */
Новая версия описания:
/* memset is implemented as:
1. Use overlapping store to avoid branch.
2. If size is less than VEC, use integer register stores.
3. If size is from VEC_SIZE to 2 * VEC_SIZE, use 2 VEC stores.
4. If size is from 2 * VEC_SIZE to 4 * VEC_SIZE, use 4 VEC stores.
5. If size is more to 4 * VEC_SIZE, align to 1 * VEC_SIZE with
4 VEC stores and store 4 * VEC at a time until done.
6. On machines ERMS feature, if size is range
[__x86_rep_stosb_threshold, __x86_memset_non_temporal_threshold)
then REP STOSB will be used.
7. If size >= __x86_memset_non_temporal_threshold, use a
non-temporal stores. */
assembler, glibc, intel, оптимизация | 2:52p |
Выпуск NixOS 24.05 «Uakari» Привет, ЛОР!
Как и предсказывали наши эксперты, в последний день весны состоялся очередной выпуск дистрибутива ОС Линукс NixOS 24.05, получивший кодовое имя «Uakari». NixOS отличается декларативным подходом к установке программ, позволяя описать на специальном языке конфигурации Nix желаемое состояние ОС, и обладает такими особенностями как атомарные обновления системы и воспроизводимость сборок.
Среди изменений в выпуске 24.05:
- Добавлены 17777 новых, обновлены 16249 и удалены 9393 устаревших пакетов;
- Над выпуском работали 2491 человек;
- GNOME обновлён до версии 46, KDE – до версии 6.0 (5.27 LTS так же доступна для установки), MATE – до версии 1.28, Cinnamon – до версии 6.0;
- Добавлена поддержка среды рабочего стола Lomiri (ранее Unity 8), использующая оконный композитор Mir;
- По-умолчанию предлагается ядро Linux 6.6, но также доступны ядра начиная с версии 4.19.
nix, nixos |
|