mirror-linux/arch/alpha/include/asm
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
..
Kbuild ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
agp_backend.h
asm-prototypes.h
atomic.h locking/atomic: treewide: delete arch_atomic_*() kerneldoc 2023-06-05 09:57:24 +02:00
barrier.h
bitops.h alpha: Add __attribute_const__ to ffs()-family implementations 2025-09-08 14:58:51 -07:00
bug.h
cache.h
cacheflush.h mm: rationalise flush_icache_pages() and flush_icache_page() 2023-08-24 16:20:25 -07:00
checksum.h
cmpxchg.h alpha: no need to include asm/xchg.h twice 2024-08-19 09:45:27 +02:00
compiler.h
console.h alpha: Replace __ASSEMBLY__ with __ASSEMBLER__ in the alpha headers 2025-12-08 23:10:30 +01:00
core_cia.h alpha: add full ioread64/iowrite64 implementation 2022-10-04 11:23:29 +02:00
core_irongate.h
core_marvel.h alpha: add full ioread64/iowrite64 implementation 2022-10-04 11:23:29 +02:00
core_mcpcia.h alpha: add full ioread64/iowrite64 implementation 2022-10-04 11:23:29 +02:00
core_polaris.h
core_t2.h alpha: sable: remove early machine support 2024-05-03 22:09:55 +02:00
core_titan.h
core_tsunami.h
core_wildfire.h
delay.h
device.h
dma-mapping.h alpha: remove DECpc AXP150 (Jensen) support 2024-05-03 22:09:50 +02:00
dma.h alpha: remove LCA and APECS based machines 2024-05-03 22:09:59 +02:00
elf.h alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support 2025-02-06 07:35:38 -08:00
emergency-restart.h
err_common.h
err_ev6.h
err_ev7.h
extable.h
floppy.h floppy: Remove unused CROSS_64KB() macro from arch/ code 2025-08-25 14:46:42 -06:00
fpu.h alpha: lazy FPU switching 2023-02-24 23:14:22 -05:00
ftrace.h
futex.h
gct.h
hardirq.h
hw_irq.h
hwrpb.h alpha: Replace one-element array with flexible array member 2025-02-14 14:06:15 -05:00
io.h alpha: stop using asm-generic/iomap.h 2025-03-10 16:20:25 +01:00
io_trivial.h alpha: add full ioread64/iowrite64 implementation 2022-10-04 11:23:29 +02:00
irq.h alpha: cabriolet: remove EV5 CPU support 2024-05-03 22:10:03 +02:00
irqflags.h
linkage.h
local.h locking/local, arch: Rewrite local_add_unless() as a static inline function 2023-10-04 11:38:11 +02:00
machvec.h alpha: drop pre-EV56 support 2024-05-06 12:05:00 +02:00
mc146818rtc.h
mce.h
mmu.h
mmu_context.h alpha: drop pre-EV56 support 2024-05-06 12:05:00 +02:00
module.h
page.h treewide: provide a generic clear_user_page() variant 2026-01-20 19:24:39 -08:00
pal.h alpha: Replace __ASSEMBLY__ with __ASSEMBLER__ in the alpha headers 2025-12-08 23:10:30 +01:00
parport.h
pci.h PCI/sysfs: Move declarations to linux/pci.h 2023-08-14 12:05:18 -05:00
percpu.h mm/percpu: conditionally define _shared_alloc_tag via CONFIG_ARCH_MODULE_NEEDS_WEAK_PER_CPU 2025-07-09 22:42:15 -07:00
perf_event.h
pgalloc.h
pgtable.h alpha updates for v7.1 2026-04-17 08:34:43 -07:00
processor.h alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support 2025-02-06 07:35:38 -08:00
ptrace.h kill signal_pt_regs() 2022-10-23 18:06:54 -04:00
rwonce.h
seccomp.h alpha: add support for SECCOMP and SECCOMP_FILTER 2026-04-12 19:13:59 +02:00
serial.h
setup.h
sfp-machine.h
shmparam.h
signal.h
smp.h
socket.h
sparsemem.h
special_insns.h alpha: drop pre-EV56 support 2024-05-06 12:05:00 +02:00
spinlock.h
spinlock_types.h Improve consistency of '#error' directive messages 2024-11-11 17:17:04 -08:00
string.h
switch_to.h
syscall.h alpha: add support for SECCOMP and SECCOMP_FILTER 2026-04-12 19:13:59 +02:00
thread_info.h alpha: add support for SECCOMP and SECCOMP_FILTER 2026-04-12 19:13:59 +02:00
timex.h alpha: define get_cycles macro for arch-override 2022-05-13 23:59:23 +02:00
tlb.h alpha: mm: enable MMU_GATHER_RCU_TABLE_FREE 2026-02-06 15:47:17 -08:00
tlbflush.h alpha: fix user-space corruption during memory compaction 2026-01-24 10:35:52 +01:00
topology.h
types.h
uaccess.h alpha: drop pre-EV56 support 2024-05-06 12:05:00 +02:00
ucontext.h
unistd.h alpha: replace NR_SYSCALLS by NR_syscalls 2023-02-14 12:37:17 -05:00
user.h asm/user.h: killed unused macros 2022-01-30 21:17:00 -05:00
vga.h alpha: sort scr_mem{cpy,move}w() out 2024-05-03 22:08:50 +02:00
vmalloc.h
word-at-a-time.h
wrperfmon.h