[PATCH 2/2] vmcore_info: track fatal hardware errors

From: Breno Leitao

Date: Wed Jun 17 2026 - 09:35:12 EST


Fatal (panic-severity) hardware errors reported through APEI/GHES are
the ones most likely to have caused a crash, but hwerr_data did not
record them. Add a HWERR_FATAL bucket and bump it from
ghes_log_hwerr() when a GHES_SEV_PANIC error is seen, so crash tooling
can tell from the vmcore that a fatal hardware error preceded the
crash.

Tools reading hwerr_data gain one entry (HWERR_FATAL).

Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>
---
drivers/acpi/apei/ghes.c | 5 +++++
include/uapi/linux/vmcore.h | 1 +
2 files changed, 6 insertions(+)

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index f0f9f1529e7aa..5a9e16bdca2b6 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -877,6 +877,11 @@ EXPORT_SYMBOL_NS_GPL(cxl_cper_kfifo_get, "CXL");

static void ghes_log_hwerr(int sev, guid_t *sec_type)
{
+ if (sev == GHES_SEV_PANIC) {
+ hwerr_log_error_type(HWERR_FATAL);
+ return;
+ }
+
if (sev != GHES_SEV_RECOVERABLE)
return;

diff --git a/include/uapi/linux/vmcore.h b/include/uapi/linux/vmcore.h
index 2ba89fafa518a..c774b037603e2 100644
--- a/include/uapi/linux/vmcore.h
+++ b/include/uapi/linux/vmcore.h
@@ -21,6 +21,7 @@ enum hwerr_error_type {
HWERR_RECOV_PCI,
HWERR_RECOV_CXL,
HWERR_RECOV_OTHERS,
+ HWERR_FATAL, /* fatal hardware errors */
HWERR_RECOV_MAX,
};


--
2.53.0-Meta