The following optimization are made for feature "arm64: add machine check safe support":
1. Optimize do_sea() processing logic. 2. Add new fixup type of the copy_to/from_user() memory error. 3. Optimize repeated assembly codes in copy_mc_page.S and memcpy_mc.S. 4. The below mailist patch hardening feature is incorporated: https://lore.kernel.org/lkml/20240204080144.7977-1-xueshuai@linux.alibaba.co...
Marc Zyngier (1): arm64: Get rid of ARM64_HAS_NO_HW_PREFETCH
Shuai Xue (3): ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered mm: memory-failure: move return value documentation to function declaration ACPI: APEI: handle synchronous exceptions in task work to send correct SIGBUS si_code
Tong Tiangen (12): Revert "kasan: fix the compilation error for memcpy_mcs()" Revert "arm64: add machine check safe sysctl interface" Revert "arm64: introduce copy_mc_to_kernel() implementation" Revert "arm64: support copy_mc_[user]_highpage()" Revert "mm/hwpoison: return -EFAULT when copy fail in copy_mc_[user]_highpage()" Revert "arm64: add uaccess to machine check safe" Revert "arm64: add support for machine check error safe" arm64: add support for ARCH_HAS_COPY_MC mm/hwpoison: return -EFAULT when copy fail in copy_mc_[user]_highpage() arm64: support copy_mc_[user]_highpage() arm64: introduce copy_mc_to_kernel() implementation arm64: add machine check safe sysctl interface
arch/arm64/include/asm/asm-extable.h | 34 +-- arch/arm64/include/asm/asm-uaccess.h | 4 + arch/arm64/include/asm/assembler.h | 4 - arch/arm64/include/asm/extable.h | 2 +- arch/arm64/include/asm/mte.h | 4 + arch/arm64/include/asm/string.h | 6 +- arch/arm64/include/asm/uaccess.h | 13 +- arch/arm64/kernel/cpufeature.c | 16 -- arch/arm64/lib/Makefile | 4 +- arch/arm64/lib/copy_from_user.S | 10 +- arch/arm64/lib/copy_mc_page.S | 63 +----- arch/arm64/lib/copy_page.S | 61 +----- arch/arm64/lib/copy_page_template.S | 56 +++++ arch/arm64/lib/copy_to_user.S | 10 +- arch/arm64/lib/memcpy_mc.S | 304 ++++++--------------------- arch/arm64/lib/mte.S | 6 +- arch/arm64/mm/copypage.c | 39 ++-- arch/arm64/mm/extable.c | 12 +- arch/arm64/mm/fault.c | 53 ++--- arch/arm64/tools/cpucaps | 1 - arch/x86/kernel/cpu/mce/core.c | 7 - drivers/acpi/apei/ghes.c | 84 +++++--- include/acpi/ghes.h | 3 - mm/kasan/shadow.c | 6 +- mm/memory-failure.c | 22 +- 25 files changed, 282 insertions(+), 542 deletions(-) create mode 100644 arch/arm64/lib/copy_page_template.S