On 11/7/21 11:45 AM, Jarkko Sakkinen wrote: > On Sun, Nov 07, 2021 at 11:06:01AM -0800, Dave Hansen wrote: >> That's true, the page cache should all be torn down along with the >> fput(). *But*, it would be a very nice property if the backing storage >> was empty by this point. It essentially ensures that no enclave-runtime >> cases missed truncating the backing storage away. > > What if an enclave is released a point when all of its pages > are swapped out? Or even simpler case would an enclave that is > larger than all of EPC. In this loop: void sgx_encl_release(struct kref *ref) { ... xa_for_each(&encl->page_array, index, entry) { if (entry->epc_page == NULL) // truncate backing storage > What can be made sure is that for all pages, which are in EPC, > the backing page is truncated. Right, and that should be utterly trivial to do.