In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Make cpu_buffer::free_page a buffer_data_read_page Discarding a cached reader page after a concurrent ring buffer resize uses the new global subbuf_order for the free_pages() call. This mismatched order may crashes the kernel or leaks memory because the cached page was allocated under the old size. Save the actual free_page order alongside the page address to ensure we always refer to the correct value and do not rely on the potentially stalled cpu_buffer->subbuf_order value. The simplest is to make free_page a buffer_data_read_page which already covers exactly what we need: a page address and a page order.
https://git.kernel.org/stable/c/d787d509bdf6c88c85e095247daf7456cb7fb772
https://git.kernel.org/stable/c/a1dabe68fb53730bc0be60c5dbfd3f4c560084e7
https://git.kernel.org/stable/c/7a1fb95de5404134f8758c1295ce88986bdf117c