[RFC PATCH 0/6] CPER: Add Memory Error Section 2 support

From: Pierre Gondois

Date: Tue Sep 29 2026 - 03:47:41 EST


Add support for Memory Error Section 2 records.

Extend cper_mem_err_compact to hold both legacy and section-2 records.
Add a common parser and convert the CPER, GHES, EDAC, extlog and x86 APEI
paths to use it.

The extlog_mem_event payload layout changes with this series.
Compatibility with existing userspace decoders still needs to be
addressed. More specifically, the rasdaemon relies on the current
struct cper_mem_err_compact definition.
Either:
A-
this patchset should not modify struct cper_mem_err_compact and
create a new structure to handle Memory Error Section 2 events,
but this would ignore the similarities of Memory Error Section (1)/2
B-
userspace should not rely on the struct cper_mem_err_compact
layout. extlog_mem_event trace events should instead emit data
that relies on the actual layout of the CPER records, as defined
in the ACPI spec.

I am looking for guidance on how to handle the above question.
Current implementation lean toward B, but emits data in the trace
event that maps the new/updated struct cper_mem_err_compact.

Pierre Gondois (6):
ACPI: extlog: fix extlog_mem_event build issue
cper: add Memory Error Section 2 structures
cper: extend cper_mem_err_compact struct
cper: add helpers to handle Memory Error Section 2
x86/mce/apei: switch cper_sec_mem_err struct users to compact CPER
records
cper: make cper_mem_err_pack() static

arch/x86/include/asm/mce.h | 4 +-
arch/x86/kernel/acpi/apei.c | 2 +-
arch/x86/kernel/cpu/mce/apei.c | 2 +-
drivers/acpi/acpi_extlog.c | 23 +++-
drivers/acpi/apei/apei-base.c | 2 +-
drivers/acpi/apei/ghes.c | 20 +--
drivers/edac/ghes_edac.c | 26 ++--
drivers/firmware/efi/cper.c | 219 +++++++++++++++++++++++++++------
include/acpi/apei.h | 2 +-
include/linux/cper.h | 58 +++++++--
include/ras/ras_event.h | 4 +-
11 files changed, 283 insertions(+), 79 deletions(-)

--
2.43.0