CVE-2026-89771

Summary

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

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

trace_buffer subbuf_size is read lockless in ring_buffer_read_page() and ring_buffer_read_start(), while it can simultaneously be resized with ring_buffer_subbuf_order_set().

Instead of trace_buffer::subbuf_size, use bpage::order in ring_buffer_read_start() and ring_buffer_read_page().

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

trace_buffer::subbuf_size is now actually useless, remove it. Also, create accessors rb_subbuf_capacity() and rb_page_capacity() which return the actual size available for storing events, while rb_subbuf_size() returns the actual subbuf page-size.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf9b94daa542a8d2532f0930f01cd9aec2d19621b < 6d666f0b8b36c0765cf19fbe6de5a7ba5a73aad9affected
LinuxLinuxf9b94daa542a8d2532f0930f01cd9aec2d19621b < 50f4a793c4ff24826efb0ac700989a5063cc53dfaffected
LinuxLinuxf9b94daa542a8d2532f0930f01cd9aec2d19621b < 0c7c517827a453128a8f58bfd849546a29813b27affected
LinuxLinuxf9b94daa542a8d2532f0930f01cd9aec2d19621b < 8a5f63637890f03177146efddaba5ec7a1b4d61faffected
LinuxLinux6.8affected
LinuxLinux0 < 6.8unaffected
LinuxLinux6.12.109 <= 6.12.*unaffected
LinuxLinux6.18.50 <= 6.18.*unaffected
LinuxLinux7.2.4 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References