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