mirror-linux/arch/xtensa/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
asm-offsets.h
asm-prototypes.h xtensa: add asm-prototypes.h 2023-06-12 19:48:57 -07:00
asm-uaccess.h uaccess: remove CONFIG_SET_FS 2022-02-25 09:36:06 +01:00
asmmacro.h xtensa: replace <asm-generic/export.h> with <linux/export.h> 2023-11-29 01:54:45 -08:00
atomic.h locking/atomic: xtensa: add preprocessor symbols 2023-06-05 09:57:18 +02:00
barrier.h xtensa: enable KCSAN 2022-05-01 19:51:22 -07:00
bitops.h xtensa: Add __attribute_const__ to ffs()-family implementations 2025-09-08 14:58:52 -07:00
bootparam.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
cache.h
cacheasm.h
cacheflush.h xtensa: remove redundant flush_dcache_page and ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE macros 2024-04-28 21:18:18 -07:00
cachetype.h Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
checksum.h xtensa: propagate the calling conventions change down into csum_partial_copy_generic() 2020-08-20 15:45:21 -04:00
cmpxchg.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
coprocessor.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
core.h xtensa: add default definition for XCHAL_HAVE_DIV32 2023-09-20 04:56:41 -07:00
current.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
delay.h
dma.h PCI: Move isa_dma_bridge_buggy out of asm/dma.h 2022-07-22 17:24:47 -05:00
elf.h xtensa: add FDPIC and static PIE support for noMMU 2022-09-13 18:28:00 -07:00
fixmap.h xtensa/mm/highmem: Make generic kmap_atomic() work correctly 2020-11-16 21:19:24 +01:00
flat.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ftrace.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
futex.h futex: Fix additional regressions 2021-12-11 23:31:51 +01:00
highmem.h mm: constify highmem related functions for improved const-correctness 2025-09-21 14:22:15 -07:00
hw_breakpoint.h xtensa: hw_breakpoint: include header for missing prototype 2023-09-20 05:03:21 -07:00
initialize_mmu.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
io.h mm/ioremap: pass pgprot_t to ioremap_prot() instead of unsigned long 2025-03-16 22:06:23 -07:00
irq.h
irqflags.h
jump_label.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
kasan.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
kmem_layout.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
linkage.h
mmu.h
mmu_context.h xtensa: use asm-generic/mmu_context.h for no-op implementations 2020-10-27 16:02:39 +01:00
mtd-xip.h xtensa: add XIP-aware MTD support 2023-08-28 18:25:23 -07:00
mxregs.h
nommu_context.h xtensa: use asm-generic/mmu_context.h for no-op implementations 2020-10-27 16:02:39 +01:00
page.h treewide: provide a generic clear_user_page() variant 2026-01-20 19:24:39 -08:00
pci-bridge.h xtensa: Remove unused early_read_config_byte() et al declarations 2022-03-06 20:17:09 -08:00
pci.h PCI: Remove pci_get_legacy_ide_irq() and asm-generic/pci.h 2022-07-22 17:23:45 -05:00
perf_event.h
pgalloc.h asm-generic: pgalloc: provide generic __pgd_{alloc,free} 2025-01-25 20:22:24 -08:00
pgtable.h mm: change to return bool for ptep_test_and_clear_young() 2026-04-05 13:53:35 -07:00
platform.h xtensa: drop platform_halt and platform_power_off 2023-06-12 19:48:56 -07:00
processor.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
ptrace.h Xtensa updates for v6.17 2025-08-09 07:35:03 +03:00
regs.h
seccomp.h xtensa: Enable seccomp architecture tracking 2020-11-20 11:16:35 -08:00
sections.h xtensa: add XIP-aware MTD support 2023-08-28 18:25:23 -07:00
serial.h
shmparam.h
signal.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
smp.h xtensa: smp: add headers for missing function prototypes 2023-09-20 05:03:20 -07:00
spinlock.h locking/arch: Move qrwlock.h include after qspinlock.h 2021-02-11 07:59:54 -05:00
spinlock_types.h Improve consistency of '#error' directive messages 2024-11-11 17:17:04 -08:00
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
stacktrace.h xtensa: Implement "current_stack_pointer" 2022-02-25 18:21:23 -08:00
string.h xtensa: drop bcopy implementation 2023-06-12 19:48:57 -07:00
switch_to.h
syscall.h syscall.h: Remove unused SYSCALL_MAX_ARGS 2026-01-05 16:47:48 +00:00
sysmem.h
thread_info.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
timex.h xtensa: use fallback for random_get_entropy() instead of zero 2022-05-13 23:59:23 +02:00
tlb.h xtensa: tlb: include <asm/tlb.h> for missing prototype 2023-09-20 05:03:21 -07:00
tlbflush.h xtensa: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-06-06 01:03:35 -07:00
traps.h xtensa: add load/store exception handler 2023-06-13 21:56:27 -07:00
uaccess.h uaccess: remove CONFIG_SET_FS 2022-02-25 09:36:06 +01:00
unistd.h clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
vectors.h xtensa: reorganize vectors placement 2020-02-04 21:57:02 -08:00
vermagic.h arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00