From: Tony Luck <tony.luck@intel.com>
To: Sean Christopherson <seanjc@google.com>,
Jarkko Sakkinen <jarkko@kernel.org>,
Dave Hansen <dave.hansen@intel.com>
Cc: Cathy Zhang <cathy.zhang@intel.com>,
linux-sgx@vger.kernel.org, Tony Luck <tony.luck@intel.com>
Subject: [PATCH v6 0/7] Basic recovery for machine checks inside SGX
Date: Wed, 22 Sep 2021 11:21:16 -0700 [thread overview]
Message-ID: <20210922182123.200105-1-tony.luck@intel.com> (raw)
In-Reply-To: <20210917213836.175138-1-tony.luck@intel.com>
Now version 6 (what I actually meant to post as v5).
Note that I've dropped linux-kernel@vger.kernel.org and x86@kernel.org
from the distribution. Time to get some internal agreement on these
changes before bothering the x86 maintainers with yet another version.
So I'm looking for Acked-by: or Reviewed-by: on any bits of this
series that are worthy, and comments on the problems I need to fix
in the not-worthy parts.
Changes since v4 (I'm going to ignore the bogus v5 I posted):
Jarkko Sakkinen:
+ Add linux-sgx@vger.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
+ Commit comment on space used by xarray to track EPC pages.
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 | 137 ++++++++++++++++--
arch/x86/kernel/cpu/sgx/sgx.h | 7 +-
drivers/acpi/apei/einj.c | 3 +-
drivers/acpi/apei/ghes.c | 2 +-
include/linux/mm.h | 14 ++
mm/memory-failure.c | 19 ++-
12 files changed, 196 insertions(+), 26 deletions(-)
base-commit: e4e737bb5c170df6135a127739a9e6148ee3da82
--
2.31.1
next prev parent reply other threads:[~2021-09-22 18:21 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210827195543.1667168-1-tony.luck@intel.com>
2021-09-17 21:38 ` [PATCH v5 0/7] Basic recovery for machine checks inside SGX Tony Luck
2021-09-17 21:38 ` [PATCH v5 1/7] x86/sgx: Provide indication of life-cycle of EPC pages Tony Luck
2021-09-21 21:28 ` Jarkko Sakkinen
2021-09-21 21:34 ` Luck, Tony
2021-09-22 5:17 ` Jarkko Sakkinen
2021-09-21 22:15 ` Dave Hansen
2021-09-22 5:27 ` Jarkko Sakkinen
2021-09-17 21:38 ` [PATCH v5 2/7] x86/sgx: Add infrastructure to identify SGX " Tony Luck
2021-09-21 20:23 ` Dave Hansen
2021-09-21 20:50 ` Luck, Tony
2021-09-21 22:32 ` Dave Hansen
2021-09-21 23:48 ` Luck, Tony
2021-09-21 23:50 ` Dave Hansen
2021-09-17 21:38 ` [PATCH v5 3/7] x86/sgx: Initial poison handling for dirty and free pages Tony Luck
2021-09-17 21:38 ` [PATCH v5 4/7] x86/sgx: Add SGX infrastructure to recover from poison Tony Luck
2021-09-17 21:38 ` [PATCH v5 5/7] x86/sgx: Hook arch_memory_failure() into mainline code Tony Luck
2021-09-17 21:38 ` [PATCH v5 6/7] x86/sgx: Add hook to error injection address validation Tony Luck
2021-09-17 21:38 ` [PATCH v5 7/7] x86/sgx: Add check for SGX pages to ghes_do_memory_failure() Tony Luck
2021-09-22 18:21 ` Tony Luck [this message]
2021-09-22 18:21 ` [PATCH v6 1/7] x86/sgx: Provide indication of life-cycle of EPC pages Tony Luck
2021-09-23 20:21 ` Jarkko Sakkinen
2021-09-23 20:24 ` Jarkko Sakkinen
2021-09-23 20:46 ` Luck, Tony
2021-09-23 22:11 ` Luck, Tony
2021-09-28 2:13 ` Jarkko Sakkinen
2021-09-22 18:21 ` [PATCH v6 2/7] x86/sgx: Add infrastructure to identify SGX " Tony Luck
2021-09-22 18:21 ` [PATCH v6 3/7] x86/sgx: Initial poison handling for dirty and free pages Tony Luck
2021-09-22 18:21 ` [PATCH v6 4/7] x86/sgx: Add SGX infrastructure to recover from poison Tony Luck
2021-09-22 18:21 ` [PATCH v6 5/7] x86/sgx: Hook arch_memory_failure() into mainline code Tony Luck
2021-09-22 18:21 ` [PATCH v6 6/7] x86/sgx: Add hook to error injection address validation Tony Luck
2021-09-22 18:21 ` [PATCH v6 7/7] x86/sgx: Add check for SGX pages to ghes_do_memory_failure() Tony Luck
2021-09-27 21:34 ` [PATCH v7 0/7] Basic recovery for machine checks inside SGX Tony Luck
2021-09-27 21:34 ` [PATCH v7 1/7] x86/sgx: Add new sgx_epc_page flag bit to mark in-use pages Tony Luck
2021-09-28 2:28 ` Jarkko Sakkinen
2021-09-27 21:34 ` [PATCH v7 2/7] x86/sgx: Add infrastructure to identify SGX EPC pages Tony Luck
2021-09-28 2:30 ` Jarkko Sakkinen
2021-09-27 21:34 ` [PATCH v7 3/7] x86/sgx: Initial poison handling for dirty and free pages Tony Luck
2021-09-28 2:46 ` Jarkko Sakkinen
2021-09-28 15:41 ` Luck, Tony
2021-09-28 20:11 ` Jarkko Sakkinen
2021-09-28 20:53 ` Luck, Tony
2021-09-30 14:40 ` Jarkko Sakkinen
2021-09-30 18:02 ` Luck, Tony
2021-09-27 21:34 ` [PATCH v7 4/7] x86/sgx: Add SGX infrastructure to recover from poison Tony Luck
2021-09-27 21:34 ` [PATCH v7 5/7] x86/sgx: Hook arch_memory_failure() into mainline code Tony Luck
2021-09-27 21:34 ` [PATCH v7 6/7] x86/sgx: Add hook to error injection address validation Tony Luck
2021-09-27 21:34 ` [PATCH v7 7/7] x86/sgx: Add check for SGX pages to ghes_do_memory_failure() Tony Luck
2021-10-01 16:47 ` [PATCH v8 0/7] Basic recovery for machine checks inside SGX Tony Luck
2021-10-01 16:47 ` [PATCH v8 1/7] x86/sgx: Add new sgx_epc_page flag bit to mark in-use pages Tony Luck
2021-10-01 16:47 ` [PATCH v8 2/7] x86/sgx: Add infrastructure to identify SGX EPC pages Tony Luck
2021-10-01 16:47 ` [PATCH v8 3/7] x86/sgx: Initial poison handling for dirty and free pages Tony Luck
2021-10-04 23:24 ` Jarkko Sakkinen
2021-10-01 16:47 ` [PATCH v8 4/7] x86/sgx: Add SGX infrastructure to recover from poison Tony Luck
2021-10-04 23:30 ` Jarkko Sakkinen
2021-10-01 16:47 ` [PATCH v8 5/7] x86/sgx: Hook arch_memory_failure() into mainline code Tony Luck
2021-10-01 16:47 ` [PATCH v8 6/7] x86/sgx: Add hook to error injection address validation Tony Luck
2021-10-01 16:47 ` [PATCH v8 7/7] x86/sgx: Add check for SGX pages to ghes_do_memory_failure() Tony Luck
2021-10-04 21:56 ` [PATCH v8 0/7] Basic recovery for machine checks inside SGX Reinette Chatre
2021-10-11 18:59 ` [PATCH v9 " Tony Luck
2021-10-11 18:59 ` [PATCH v9 1/7] x86/sgx: Add new sgx_epc_page flag bit to mark in-use pages Tony Luck
2021-10-15 22:57 ` Sean Christopherson
2021-10-11 18:59 ` [PATCH v9 2/7] x86/sgx: Add infrastructure to identify SGX EPC pages Tony Luck
2021-10-22 10:43 ` kernel test robot
2021-10-11 18:59 ` [PATCH v9 3/7] x86/sgx: Initial poison handling for dirty and free pages Tony Luck
2021-10-15 23:07 ` Sean Christopherson
2021-10-15 23:32 ` Luck, Tony
2021-10-11 18:59 ` [PATCH v9 4/7] x86/sgx: Add SGX infrastructure to recover from poison Tony Luck
2021-10-15 23:10 ` Sean Christopherson
2021-10-15 23:19 ` Luck, Tony
2021-10-11 18:59 ` [PATCH v9 5/7] x86/sgx: Hook arch_memory_failure() into mainline code Tony Luck
2021-10-12 16:49 ` Jarkko Sakkinen
2021-10-11 18:59 ` [PATCH v9 6/7] x86/sgx: Add hook to error injection address validation Tony Luck
2021-10-12 16:50 ` Jarkko Sakkinen
2021-10-11 18:59 ` [PATCH v9 7/7] x86/sgx: Add check for SGX pages to ghes_do_memory_failure() Tony Luck
2021-10-12 16:51 ` Jarkko Sakkinen
2021-10-12 16:48 ` [PATCH v9 0/7] Basic recovery for machine checks inside SGX Jarkko Sakkinen
2021-10-12 17:57 ` Luck, Tony
2021-10-18 20:25 ` [PATCH v10 " Tony Luck
2021-10-18 20:25 ` [PATCH v10 1/7] x86/sgx: Add new sgx_epc_page flag bit to mark free pages Tony Luck
2021-10-18 20:25 ` [PATCH v10 2/7] x86/sgx: Add infrastructure to identify SGX EPC pages Tony Luck
2021-10-18 20:25 ` [PATCH v10 3/7] x86/sgx: Initial poison handling for dirty and free pages Tony Luck
2021-10-18 20:25 ` [PATCH v10 4/7] x86/sgx: Add SGX infrastructure to recover from poison Tony Luck
2021-10-18 20:25 ` [PATCH v10 5/7] x86/sgx: Hook arch_memory_failure() into mainline code Tony Luck
2021-10-20 9:06 ` Naoya Horiguchi
2021-10-20 17:04 ` Luck, Tony
2021-10-18 20:25 ` [PATCH v10 6/7] x86/sgx: Add hook to error injection address validation Tony Luck
2021-10-18 20:25 ` [PATCH v10 7/7] x86/sgx: Add check for SGX pages to ghes_do_memory_failure() Tony Luck
2021-10-26 22:00 ` [PATCH v11 0/7] Basic recovery for machine checks inside SGX Tony Luck
2021-10-26 22:00 ` [PATCH v11 1/7] x86/sgx: Add new sgx_epc_page flag bit to mark free pages Tony Luck
2021-10-26 22:00 ` [PATCH v11 2/7] x86/sgx: Add infrastructure to identify SGX EPC pages Tony Luck
2021-10-26 22:00 ` [PATCH v11 3/7] x86/sgx: Initial poison handling for dirty and free pages Tony Luck
2021-10-26 22:00 ` [PATCH v11 4/7] x86/sgx: Add SGX infrastructure to recover from poison Tony Luck
2021-10-26 22:00 ` [PATCH v11 5/7] x86/sgx: Hook arch_memory_failure() into mainline code Tony Luck
2021-10-26 22:00 ` [PATCH v11 6/7] x86/sgx: Add hook to error injection address validation Tony Luck
2021-10-26 22:00 ` [PATCH v11 7/7] x86/sgx: Add check for SGX pages to ghes_do_memory_failure() Tony Luck
2021-10-29 18:39 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210922182123.200105-1-tony.luck@intel.com \
--to=tony.luck@intel.com \
--cc=cathy.zhang@intel.com \
--cc=dave.hansen@intel.com \
--cc=jarkko@kernel.org \
--cc=linux-sgx@vger.kernel.org \
--cc=seanjc@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox