CVE-2026-89771
N/A
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
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | f9b94daa542a8d2532f0930f01cd9aec2d19621b < 6d666f0b8b36c0765cf19fbe6de5a7ba5a73aad9 | affected |
| Linux | Linux | f9b94daa542a8d2532f0930f01cd9aec2d19621b < 50f4a793c4ff24826efb0ac700989a5063cc53df | affected |
| Linux | Linux | f9b94daa542a8d2532f0930f01cd9aec2d19621b < 0c7c517827a453128a8f58bfd849546a29813b27 | affected |
| Linux | Linux | f9b94daa542a8d2532f0930f01cd9aec2d19621b < 8a5f63637890f03177146efddaba5ec7a1b4d61f | affected |
| Linux | Linux | 6.8 | affected |
| Linux | Linux | 0 < 6.8 | unaffected |
| Linux | Linux | 6.12.109 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.50 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.4 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/6d666f0b8b36c0765cf19fbe6de5a7ba5a73aad9
- https://git.kernel.org/stable/c/50f4a793c4ff24826efb0ac700989a5063cc53df
- https://git.kernel.org/stable/c/0c7c517827a453128a8f58bfd849546a29813b27
- https://git.kernel.org/stable/c/8a5f63637890f03177146efddaba5ec7a1b4d61f
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.