On Fri, Mar 12, 2021 at 01:21:54PM -0800, Sean Christopherson wrote: > On Thu, Mar 11, 2021, Kai Huang wrote: > > From: Jarkko Sakkinen <jarkko@xxxxxxxxxx> > > > > EREMOVE takes a page and removes any association between that page and > > an enclave. It must be run on a page before it can be added into > > another enclave. Currently, EREMOVE is run as part of pages being freed > > into the SGX page allocator. It is not expected to fail. > > > > KVM does not track how guest pages are used, which means that SGX > > virtualization use of EREMOVE might fail. > > > > Break out the EREMOVE call from the SGX page allocator. This will allow > > the SGX virtualization code to use the allocator directly. (SGX/KVM > > will also introduce a more permissive EREMOVE helper). > > > > Implement original sgx_free_epc_page() as sgx_encl_free_epc_page() to be > > more specific that it is used to free EPC page assigned to one enclave. > > Print an error message when EREMOVE fails to explicitly call out EPC > > page is leaked, and requires machine reboot to get leaked pages back. > > > > Signed-off-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx> > > Co-developed-by: Kai Huang <kai.huang@xxxxxxxxx> > > Acked-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx> > > Signed-off-by: Kai Huang <kai.huang@xxxxxxxxx> > > --- > > v2->v3: > > > > - Fixed bug during copy/paste which results in SECS page and va pages are not > > correctly freed in sgx_encl_release() (sorry for the mistake). > > - Added Jarkko's Acked-by. > > That Acked-by should either be dropped or moved above Co-developed-by to make > checkpatch happy. > > Reviewed-by: Sean Christopherson <seanjc@xxxxxxxxxx> Oops, my bad. Yup, ack should be removed. /Jarkko