In the Linux kernel, the following vulnerability has been resolved:
ring-buffer: Fix reader locking when changing the sub buffer order
The function ringbuffersubbuforderset() updates each ringbufferpercpu and installs new sub buffers that match the requested page order. This operation may be invoked concurrently with readers that rely on some of the modified data, such as the head bit (RBPAGEHEAD), or the ringbufferpercpu.pages and readerpage pointers. However, no exclusive access is acquired by ringbuffersubbuforder_set(). Modifying the mentioned data while a reader also operates on them can then result in incorrect memory access and various crashes.
Fix the problem by taking the readerlock when updating a specific ringbufferpercpu in ringbuffersubbuforderset().