[PATCH 0/4] ras-tools: hardware validation for arm64 MC-safe memory error recovery

From: Ruidong Tian

Date: Tue Jun 16 2026 - 21:52:35 EST


From: Ruidong Tian <ruidong.trd@xxxxxxxxxxxxxxxxx>

This series adds tooling to ras-tools for end-to-end validation of the
arm64 "MC-safe" memory error recovery work on real hardware.

Recent arm64 patches teach the kernel to survive an uncorrectable
(poison) memory error consumed during a kernel copy, instead of taking
the whole machine down. Two broad families of copy paths are covered:

- kernel-side page copies (copy_mc_highpage / copy_mc_user_highpage /
folio_mc_copy) used by COW, khugepaged, page migration and hugetlb;
- user-access copies (copy_from_user / copyin) driven by syscalls.

This series adds validation test cases and observability tooling for these
recovery scenarios.

Ruidong Tian (4):
ras-tools: add bpftrace verification and opcode decode helpers
ras-tools: verify MC-safe recovery for hwpoison copy-on-write patches
einj_mem_uc_uaccess: exercise copy_from_user hwpoison recovery via
syscalls
einj_mem_uc: add copy_mc_to_kernel() case

Makefile | 4 +-
decode_opcode.py | 274 +++++++++++++++++
einj_mem_uc.c | 155 +++++++---
einj_mem_uc.h | 72 +++++
einj_mem_uc_mm.c | 682 ++++++++++++++++++++++++++++++++++++++++++
einj_mem_uc_uaccess.c | 369 +++++++++++++++++++++++
einj_mem_uc_verify.bt | 108 +++++++
7 files changed, 1628 insertions(+), 36 deletions(-)
create mode 100644 decode_opcode.py
create mode 100644 einj_mem_uc.h
create mode 100644 einj_mem_uc_mm.c
create mode 100644 einj_mem_uc_uaccess.c
create mode 100644 einj_mem_uc_verify.bt

--
2.39.3