On Fri, 2022-12-02 at 13:35 -0800, Dave Hansen wrote: > On 12/2/22 10:36, Kristen Carlson Accardi wrote: > > When allocating new Version Array (VA) pages, pass the struct > > sgx_encl > > of the enclave that is allocating the page. sgx_alloc_epc_page() > > will > > store this value in the encl_owner field of the struct > > sgx_epc_page. In > > a later patch, VA pages will be placed in an unreclaimable queue, > > and then when the cgroup max limit is reached and there are no more > > reclaimable pages and the enclave must be oom killed, all the > > VA pages associated with that enclave can be uncharged and freed. > > What does this have to do with the 'encl' that is being passed, > though? > > In other words, why is this new sgx_epc_page-to-encl mapping needed > for > VA pages now, but it wasn't before? When we OOM kill an enclave, we want to get rid of all the associated VA pages too. Prior to this patch, there wasn't a way to easily get the VA pages associated with an enclave.