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

From: Jarkko Sakkinen
Date: Mon Sep 13 2021 - 17:13:52 EST


On Mon, 2021-09-13 at 17:14 +0200, Paolo Bonzini wrote:
> 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.

If /dev/sgx_vepc dissapears, why is it a problem *for the software*, and
not a sysadmin problem?

I think that this is what the whole patch is lacking, why are we talking
about a software problem...

/Jarkko