Commit 7acfa2c5f436 for kernel

commit 7acfa2c5f4366d63653380646ffa7dbd1bfaccc0
Merge: 758c807bb943 057caace5214
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu May 21 14:05:09 2026 -0700

    Merge tag 'trace-ringbuffer-v7.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

    Pull ring-buffer fixes from Steven Rostedt:

     - Fix reporting MISSED EVENTS in trace iterator

       When the "trace" file is read with tracing enabled, if the writer
       were to pass the iterator reader, it resets, sets a "missed_events"
       flag and continues. The tracing output checks for missed events and
       if there are some, it prints out "[LOST EVENTS]" to let the user know
       events were dropped.

       But the clearing of the missed_events happened when the tracing
       system queried the ring buffer iterator about missed events. This was
       premature as the ring buffer is per CPU, and the tracing code reads
       all the CPU buffers and checks for missed events when it is read. If
       the CPU iterator that had missed events isn't printed next, the
       output for the LOST EVENTS is lost.

       Clear the missed_events flag when the iterator moves to the next
       event and not when the missed_events flag is queried. Also clear it
       on reset.

     - Flush and stop the persistent ring buffer on panic

       On panic the persistent ring buffer is used to debug what caused the
       panic. But on some architectures, it requires flushing the memory
       from cache, otherwise, the ring buffer persistent memory may not have
       the last events and this could also cause the ring buffer to be
       corrupted on the next boot.

     - Fix nr_subbufs initialization in simple_ring_buffer_init_mm

       The remote simple ring buffer meta data nr_subbufs is initialized too
       early and gets cleared later on, making it zero and not reflect the
       actual number of sub-buffers.

     - Fix unload_page for simple_ring_buffer init rollback

       On error, the pages loaded need to be unloaded. To unload a page it
       is expected that: page = load_page(va); -> unload_page(page). But the
       code was doing: unload_page(va) and not unload_page(page).

     - Create output file from cmd_check_undefined

       The check for undefined symbols checks if the file *.o.checked exists
       and if so it skips doing the work. But the *.o.checked file never was
       created making every build do the work even when it was already done
       previously.

    * tag 'trace-ringbuffer-v7.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
      tracing: Create output file from cmd_check_undefined
      tracing: Fix unload_page for simple_ring_buffer init rollback
      tracing: Fix nr_subbufs initialization in simple_ring_buffer_init_mm()
      ring-buffer: Flush and stop persistent ring buffer on panic
      ring-buffer: Fix reporting of missed events in iterator