Basic recovery for machine checks inside SGX
From: | Tony Luck <tony.luck-AT-intel.com> | |
To: | tony.luck-AT-intel.com | |
Subject: | [PATCH 0/4] Basic recovery for machine checks inside SGX | |
Date: | Thu, 08 Jul 2021 11:14:19 -0700 | |
Message-ID: | <20210708181423.1312359-1-tony.luck@intel.com> | |
Cc: | Jarkko Sakkinen <jarkko-AT-kernel.org>, Dave Hansen <dave.hansen-AT-linux.intel.com>, x86-AT-kernel.org, linux-sgx-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org | |
Archive-link: | Article |
Cover the easy cases: 1) memory errors reported by patrol scrubber in unused SGX pages 2) machine checks due to poison consumption from SGX_PAGE_TYPE_REG pages 3) When poison is consumed in an enclave inside a guest, just kill the guest. Tony Luck (4): x86/sgx: Track phase and type of SGX EPC pages x86/sgx: Add basic infrastructure to recover from errors in SGX memory x86/sgx: Hook sgx_memory_failure() into mainline code x86/sgx: Add hook to error injection address validation .../firmware-guide/acpi/apei/einj.rst | 19 +++ arch/x86/include/asm/sgx.h | 6 + arch/x86/kernel/cpu/sgx/encl.c | 4 +- arch/x86/kernel/cpu/sgx/ioctl.c | 4 +- arch/x86/kernel/cpu/sgx/main.c | 147 +++++++++++++++++- arch/x86/kernel/cpu/sgx/sgx.h | 17 +- arch/x86/kernel/cpu/sgx/virt.c | 11 +- drivers/acpi/apei/einj.c | 3 +- include/linux/mm.h | 15 ++ mm/memory-failure.c | 4 + 10 files changed, 219 insertions(+), 11 deletions(-) base-commit: 62fb9874f5da54fdb243003b386128037319b219 -- 2.29.2