v3->v4: 1.remove uce_kernel_recovery.h 2.optimize do_sea() and arm64_process_kernel_sea(). 3.use pr_fmt instead of pr_uce.
v2->v3: 1. put uce kernel recovery related processing into separate file. 2. fix the RAS error processing flow of do_sea(). 3. add CONFIG_ARM64_UCE_KERNEL_RECOVERY=y to openeuler_defconfig. 4. update commit msg.
v1->v2: 1. update commit msg. 2. change copy_from_user return value. 3. change copy_from_user proc control bit.
Tong Tiangen (2): arm64: ras: copy_from_user scenario support uce kernel recovery arm64: config: enable CONFIG_ARM64_UCE_KERNEL_RECOVERY
Documentation/admin-guide/sysctl/kernel.rst | 17 ++ arch/arm64/Kconfig | 9 + arch/arm64/configs/openeuler_defconfig | 1 + arch/arm64/include/asm/exception.h | 13 ++ arch/arm64/lib/copy_from_user.S | 11 ++ arch/arm64/mm/Makefile | 2 + arch/arm64/mm/fault.c | 4 + arch/arm64/mm/uce_kernel_recovery.c | 198 ++++++++++++++++++++ 8 files changed, 255 insertions(+) create mode 100644 arch/arm64/mm/uce_kernel_recovery.c