CVE-2026-90182 in Linux
Сводка
по VulDB • 17.09.2026
В ядре Linux была устранена следующая уязвимость:
blk-iocost: очистка состояния задержки при освобождении данных политики
iocg_kick_delay() преобразует достаточно большой долг в явную задержку для блочной cgroup с помощью blkcg_set_delay(), устанавливая blkg->use_delay равным -1 и увеличивая blkcg->congestion_count. Повторная очистка зависит от того, что iocg_kick_delay() выполняется из таймера периода (period timer), таймера очереди ожидания (waitq timer) или пути обработки запросов ввода-вывода (issue path).
ioc_pd_free() удаляет iocg из active_iocgs и отменяет его таймер waitq, и новые bios не могут поступать; следовательно, после его выполнения ничего не остается, что могло бы уменьшить долг и очистить состояние задержки. blkcg остается помеченным как перегруженный (congested) до конца своего жизненного цикла.
blk_cgroup_congested() затем возвращает true для каждой задачи в этой cgroup и ее потомках: page_cache_sync_ra() ограничивает readahead одним страницей, page_cache_async_async_ra() полностью пропускает его, а __folio_throttle_swaprate() захватывает swap_avail_lock и планирует throttling (ограничение) при выделении анонимных folio.
Очистите это состояние явно после удаления из списка и синхронного вызова hrtimer_cancel(), чтобы ни обработка таймеров, ни путь ввода-вывода не могли повторно активировать его. Callback освобождения также может видеть данные политики, которые никогда не были прикреплены к blkg, отсюда проверка pd->blkg.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.