From: Jarkko Sakkinen <jarkko@kernel.org>
To: Reinette Chatre <reinette.chatre@intel.com>
Cc: linux-sgx@vger.kernel.org, shuah@kernel.org,
dave.hansen@linux.intel.com, seanjc@google.com,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH V2 13/15] selftests/sgx: Add page permission and exception test
Date: Fri, 29 Oct 2021 06:08:12 +0300 [thread overview]
Message-ID: <YXtlnORs1545GXvq@iki.fi> (raw)
In-Reply-To: <85dd8852e85cd1fcdf70f5b6be9389b6df096b0d.1635447301.git.reinette.chatre@intel.com>
On Thu, Oct 28, 2021 at 01:37:38PM -0700, Reinette Chatre wrote:
> The Enclave Page Cache Map (EPCM) is a secure structure used by the
> processor to track the contents of the enclave page cache. The EPCM
> contains permissions with which enclave pages can be accessed. SGX
> support allows EPCM and PTE page permissions to differ - as long as
> the PTE permissions do not exceed the EPCM permissions.
>
> Add a test that:
> (1) Creates an SGX enclave page with writable EPCM permission.
> (2) Changes the PTE permission on the page to read-only. This should
> be permitted because the permission does not exceed the EPCM
> permission.
> (3) Attempts a write to the page. This should generate a page fault
> (#PF) because of the read-only PTE even though the EPCM
> permissions allow the page to be written to.
>
> This introduces the first test of SGX exception handling. In this test
> the issue that caused the exception (PTE page permissions) can be fixed
> from outside the enclave and after doing so it is possible to re-enter
> enclave at original entrypoint with ERESUME.
>
> Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
/Jarkko
next prev parent reply other threads:[~2021-10-29 3:08 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-28 20:37 [PATCH V2 00/15] selftests/sgx: Oversubscription, page permission, thread entry Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 01/15] selftests/x86/sgx: Fix a benign linker warning Reinette Chatre
2021-10-29 0:26 ` Dave Hansen
2021-10-29 14:56 ` Sean Christopherson
2021-10-29 17:09 ` Reinette Chatre
2021-10-29 17:11 ` Dave Hansen
2021-10-28 20:37 ` [PATCH V2 02/15] x86/sgx: Rename fallback labels in sgx_init() Reinette Chatre
2021-10-29 17:59 ` Dave Hansen
2021-10-28 20:37 ` [PATCH V2 03/15] x86/sgx: Add an attribute for the amount of SGX memory in a NUMA node Reinette Chatre
2021-10-29 18:06 ` Dave Hansen
2021-10-29 19:03 ` Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 04/15] selftests/sgx: Assign source for each segment Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 05/15] selftests/sgx: Make data measurement for an enclave segment optional Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 06/15] selftests/sgx: Create a heap for the test enclave Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 07/15] selftests/sgx: Dump segments and /proc/self/maps only on failure Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 08/15] selftests/sgx: Encpsulate the test enclave creation Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 09/15] selftests/sgx: Move setup_test_encl() to each TEST_F() Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 10/15] selftests/sgx: Add a new kselftest: unclobbered_vdso_oversubscribed Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 11/15] selftests/sgx: Provide per-op parameter structs for the test enclave Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 12/15] selftests/sgx: Rename test properties in preparation for more enclave tests Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 13/15] selftests/sgx: Add page permission and exception test Reinette Chatre
2021-10-29 3:08 ` Jarkko Sakkinen [this message]
2021-10-28 20:37 ` [PATCH V2 14/15] selftests/sgx: Enable multiple thread support Reinette Chatre
2021-10-28 20:37 ` [PATCH V2 15/15] selftests/sgx: Add test for multiple TCS entry Reinette Chatre
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=YXtlnORs1545GXvq@iki.fi \
--to=jarkko@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-sgx@vger.kernel.org \
--cc=reinette.chatre@intel.com \
--cc=seanjc@google.com \
--cc=shuah@kernel.org \
/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