Re: [PATCH 1/2] x86: sgx_vepc: extract sgx_vepc_remove_page

From: Paolo Bonzini
Date: Mon Sep 13 2021 - 11:15:06 EST


On 13/09/21 16:55, Dave Hansen wrote:
By "Windows startup" I mean even after guest reboot.  Because another
process could sneak in and steal your EPC pages between a close() and an
open(), I'd like to have a way to EREMOVE the pages while keeping them
assigned to the specific vEPC instance, i.e.*without* going through
sgx_vepc_free_page().
Oh, so you want fresh EPC state for the guest, but you're concerned that
the previous guest might have left them in a bad state. The current
method of getting a new vepc instance (which guarantees fresh state) has
some other downsides.

Can't another process steal pages via sgxd and reclaim at any time?

vEPC pages never call sgx_mark_page_reclaimable, don't they?

What's the extra concern here about going through a close()/open()
cycle? Performance?

Apart from reclaiming, /dev/sgx_vepc might disappear between the first open() and subsequent ones.

Paolo