• Steven Rostedt (Google)'s avatar
    ring-buffer: Validate boot range memory events · 5f3b6e83
    Steven Rostedt (Google) authored
    Make sure all the events in each of the sub-buffers that were mapped in a
    memory region are valid. This moves the code that walks the buffers for
    time-stamp validation out of the CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS
    ifdef block and is used to validate the content. Only the ring buffer
    event meta data and time stamps are checked and not the data load.
    
    This also has a second purpose. The buffer_page structure that points to
    the data sub-buffers has accounting that keeps track of the number of
    events that are on the sub-buffer. This updates that counter as well. That
    counter is used in reading the buffer and knowing if the ring buffer is
    empty or not.
    
    Link: https://lkml.kernel.org/r/20240612232026.172503570@goodmis.org
    
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Vincent Donnefort <vdonnefort@google.com>
    Cc: Joel Fernandes <joel@joelfernandes.org>
    Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vineeth Pillai <vineeth@bitbyteword.org>
    Cc: Youssef Esmat <youssefesmat@google.com>
    Cc: Beau Belgrave <beaub@linux.microsoft.com>
    Cc: Alexander Graf <graf@amazon.com>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: "Paul E. McKenney" <paulmck@kernel.org>
    Cc: David Howells <dhowells@redhat.com>
    Cc: Mike Rapoport <rppt@kernel.org>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Ross Zwisler <zwisler@google.com>
    Cc: Kees Cook <keescook@chromium.org>
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    5f3b6e83
ring_buffer.c 200 KB