Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
f9b94daa542a8d2532f0930f01cd9aec2d19621b to < 6d666f0b8b36c0765cf19fbe6de5a7ba5a73aad9affectedf9b94daa542a8d2532f0930f01cd9aec2d19621b to < 50f4a793c4ff24826efb0ac700989a5063cc53dfaffectedf9b94daa542a8d2532f0930f01cd9aec2d19621b to < 0c7c517827a453128a8f58bfd849546a29813b27affectedf9b94daa542a8d2532f0930f01cd9aec2d19621b to < 8a5f63637890f03177146efddaba5ec7a1b4d61faffected
Linux Linux
Default version status: affected
6.8affected0 to < 6.8unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected