Привет, Хабр! Уже давненько вокруг ходит тема про io_uring — новую высокопроизводительную модель асинхронного I/O в Linux. В теории это обещает минимальные системные вызовы и очереди отправки/завершения, но как это в деле работает с привычными утилитами? Я решил разобраться на примере типичной задачи – копирования файлов (и немного упомянем хеширование) – переписав её под liburing и сравнив с традиционной синхронной версией. Узнать все детали эксперимента
Уязвимость файла fs/io_uring.c подсистемы io_uring ядра операционной системы Linux связана с использованием памяти после ее освобождения из-за состояния гонки в функции poll_refs(). Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании при разыменовании нулевого указателя
Уязвимость функции io_install_fixed_file() модуля io_uring/filetable.c подсистемы io_uring ядра операционной системы Linux связана с использованнием ранее освобожденной памяти. Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании.
Всем привет! Продолжаем разбираться с io_uring. Сегодня попробуем использовать io_uring для решения прикладных задач. А именно напишем полноценный TCP сервер. Для этого мигрируем наши приложения с C на GO. Не буду писать длинные вступления, вперед экспериментировать! Читать далее