mirror-linux/arch
Masami Hiramatsu (Google) a494d3c8d5 ring-buffer: Flush and stop persistent ring buffer on panic
On real hardware, panic and machine reboot may not flush hardware cache
to memory. This means the persistent ring buffer, which relies on a
coherent state of memory, may not have its events written to the buffer
and they may be lost. Moreover, there may be inconsistency with the
counters which are used for validation of the integrity of the
persistent ring buffer which may cause all data to be discarded.

To avoid this issue, stop recording of the ring buffer on panic and
flush the cache of the ring buffer's memory.

Fixes: e645535a95 ("tracing: Add option to use memmapped memory for trace boot instance")
Cc: stable@vger.kernel.org
Cc: Will Deacon <will@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Ian Rogers <irogers@google.com>
Link: https://patch.msgid.link/177751969602.2136606.12031934362587643488.stgit@mhiramat.tok.corp.google.com
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2026-05-21 08:20:58 -04:00
..
alpha ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
arc ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
arm ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
arm64 ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
csky ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
hexagon ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
loongarch ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
m68k ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
microblaze ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
mips ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
nios2 ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
openrisc ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
parisc ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
powerpc ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
riscv ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
s390 ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
sh ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
sparc ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
um ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
x86 ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
xtensa ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
.gitignore
Kconfig parisc architecture fixes and updates for kernel v7.1-rc1: 2026-04-18 11:37:36 -07:00