CVE-2026-89771: ring-buffer: Fix subbuf resize race with ring buffer readers

Published Sep 11, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

ring-buffer: Fix subbuf resize race with ring buffer readers

tracebuffer subbufsize is read lockless in ringbufferreadpage() and ringbufferreadstart(), while it can simultaneously be resized with ringbuffersubbuforderset().

Instead of tracebuffer::subbufsize, use bpage::order in ringbufferreadstart() and ringbufferreadpage().

In ringbufferreadstart(), even with resizedisabled, there is still a possibility of a race with a buffer modification. Hold the tracebuffer mutex to synchronise with any pending ring buffer order modification.

tracebuffer::subbufsize is now actually useless, remove it. Also, create accessors rbsubbufcapacity() and rbpagecapacity() which return the actual size available for storing events, while rbsubbufsize() returns the actual subbuf page-size.

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:47 PM
Data Sourced
via MITRE·07:47 PM
Description

Frequently Asked Questions

1

What conditions are required to trigger the race?

A ring-buffer reader must run concurrently with a ring buffer sub-buffer resize or order modification. The affected read paths are ring_buffer_read_page() and ring_buffer_read_start(), while resizing is performed through ring_buffer_subbuf_order_set().

2

Does disabling resizing eliminate the issue?

No. The fix notes that ring_buffer_read_start() can still race with a pending buffer modification even when resizing is disabled, so synchronization with the trace_buffer mutex is required.

3

What code changes address the issue?

The resolved implementation uses bpage::order rather than trace_buffer::subbuf_size in the affected reader paths, and holds the trace_buffer mutex in ring_buffer_read_start() to synchronize order changes. The obsolete trace_buffer::subbuf_size field is removed.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203