В этой статье мы разбираем, как использовать io_uring для высокопроизводительного асинхронного ввода-вывода в Linux, изучаем его архитектуру, ключевые флаги и расширения, приводим пример простого эхо-сервера на liburing, говорим о профилировании, отладке и лучших практиках для системных разработчиков. Читать далее
Async/await, или «асинхронный ввод‑вывод», — это относительно новая функция языка, которая позволяет программам выполнять несколько задач одновременно. Это своего рода альтернатива многопоточности, хотя программы на Rust часто используют и то и другое. Асинхронный ввод‑вывод…
Уязвимость файла fs/io_uring.c подсистемы io_uring ядра операционной системы Linux связана с использованием памяти после ее освобождения из-за состояния гонки в функции poll_refs(). Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании при разыменовании нулевого указателя
Уязвимость функции io_install_fixed_file() модуля io_uring/filetable.c подсистемы io_uring ядра операционной системы Linux связана с использованнием ранее освобожденной памяти. Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании.