|
|
Subscribe / Log in / New account

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



Copyright © 2021, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds