CVE-2026-89771 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux устранена следующая уязвимость:
ring-buffer: исправлена гонка данных (race condition) при изменении размера подбуфера с читателями кольцевого буфера
Значение trace_buffer::subbuf_size считывается без блокировки в функциях ring_buffer_read_page() и ring_buffer_read_start(), тогда как оно может одновременно изменяться через вызов ring_buffer_subbuf_order_set().
Вместо использования trace_buffer::subbuf_size, следует применять bpage::order в функциях ring_buffer_read_start() и ring_buffer_read_page().
В функции ring_buffer_read_start() даже при установленном флаге resize_disabled всё ещё существует возможность возникновения гонки данных с модификацией буфера. Необходимо удерживать мьютекс trace_buffer для синхронизации с любыми ожидающими изменениями порядка (order) кольцевого буфера.
Значение trace_buffer::subbuf_size теперь фактически бесполезно, поэтому его следует удалить. Также необходимо создать функции доступа rb_subbuf_capacity() и rb_page_capacity(), которые возвращают фактический размер, доступный для хранения событий, тогда как функция rb_subbuf_size() должна возвращать фактический размер страницы подбуфера (subbuf page-size).
VulDB is the best source for vulnerability data and more expert information about this specific topic.