Re: [PATCH RESEND 0/3] x86/sgx: eextend ioctl

From: Jethro Beekman
Date: Fri Apr 02 2021 - 04:38:36 EST


On 2021-04-01 20:40, Dave Hansen wrote:
> On 4/1/21 10:49 AM, Raoul Strackx wrote:
>> On 4/1/21 6:11 PM, Dave Hansen wrote:
>>> On 4/1/21 7:56 AM, Raoul Strackx wrote:
>>>> SOLUTION OF THIS PATCH
>>>> This patch adds a new ioctl to enable userspace to execute EEXTEND leaf
>>>> functions per 256 bytes of enclave memory. This enables enclaves to be
>>>> build as specified by enclave providers.
>>> I think tying the user ABI to the SGX architecture this closely is a
>>> mistake.
>>>
>>> Do we need another ioctl() or can we just relax the existing add_pages
>>> ioctl() to allow unaligned addresses?
>>>
>> I've considered this. In order to do an EEXTEND without an EADD, we'd
>> need to add a flag DONT_ADD_PAGES flag to `add_pages` ioctl as well. Two
>> separate ioctls, one for adding, another for extending made more sense
>> to me.
>
> So, we're talking here about pages that have been EEADDED, but for which
> we do not want to include the entire contents of the page? Do these
> contents always include the beginning of the page, or can the holes be
> anywhere?

Holes can be anywhere, and EEXTEND calls need not be sequential in memory address or even relate to the most recently EADDed page.

--
Jethro Beekman | Fortanix


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature