[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210917213836.175138-1-tony.luck@intel.com>
Date: Fri, 17 Sep 2021 14:38:29 -0700
From: Tony Luck <tony.luck@...el.com>
To: Sean Christopherson <seanjc@...gle.com>,
Jarkko Sakkinen <jarkko@...nel.org>,
Dave Hansen <dave.hansen@...el.com>
Cc: Cathy Zhang <cathy.zhang@...el.com>, linux-sgx@...r.kernel.org,
x86@...nel.org, linux-kernel@...r.kernel.org,
Tony Luck <tony.luck@...el.com>
Subject: [PATCH v5 0/7] Basic recovery for machine checks inside SGX
Now version 5.
Changes since v4:
Jarkko Sakkinen:
+ Add linux-sgx@...r.kernel.org to Cc: list
+ Remove explicit struct sgx_va_page *va_page type
from argument and use in sgx_alloc_va_page(). Just
use "void *" as this code doesn't do anything with the
internals of struct sgx_va_page.
+ Drop the union of all possible types for the "owner"
field in struct sgx_epc_page (sorry Dave Hansen, this
went in last time from your comment, but it doesn't
seem to add much value). Back to "void *owner;"
+ rename the xarray that tracks which addresses are
EPC pages from "epc_page_ranges" to "sgx_epc_address_space".
Dave Hansen:
+ Use more generic names for the globally visible
functions that are needed in generic code:
sgx_memory_failure -> arch_memory_failure
sgx_is_epc_page -> arch_is_platform_page
Tony Luck:
+ Found that ghes code spits warnings for memory addresses
that it thinks are bad. Add a check for SGX pages.
Tony Luck (7):
x86/sgx: Provide indication of life-cycle of EPC pages
x86/sgx: Add infrastructure to identify SGX EPC pages
x86/sgx: Initial poison handling for dirty and free pages
x86/sgx: Add SGX infrastructure to recover from poison
x86/sgx: Hook arch_memory_failure() into mainline code
x86/sgx: Add hook to error injection address validation
x86/sgx: Add check for SGX pages to ghes_do_memory_failure()
.../firmware-guide/acpi/apei/einj.rst | 19 +++
arch/x86/include/asm/processor.h | 8 +
arch/x86/include/asm/set_memory.h | 4 +
arch/x86/kernel/cpu/sgx/encl.c | 5 +-
arch/x86/kernel/cpu/sgx/encl.h | 2 +-
arch/x86/kernel/cpu/sgx/ioctl.c | 2 +-
arch/x86/kernel/cpu/sgx/main.c | 140 ++++++++++++++++--
arch/x86/kernel/cpu/sgx/sgx.h | 14 +-
drivers/acpi/apei/einj.c | 3 +-
drivers/acpi/apei/ghes.c | 2 +-
include/linux/mm.h | 13 ++
mm/memory-failure.c | 19 ++-
12 files changed, 203 insertions(+), 28 deletions(-)
base-commit: 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f
--
2.31.1
Powered by blists - more mailing lists