Messages in this thread | | | From | "Luck, Tony" <> | Subject | RE: [PATCH 1/4] x86/sgx: Track phase and type of SGX EPC pages | Date | Wed, 14 Jul 2021 20:59:03 +0000 |
| |
> Could this tracking be done at the enclave page (struct sgx_encl_page) > instead?
In principle yes. Though Sean has some issues with me tracking types at all.
> The enclave page's EPC page information is not available when > the page is in swap and it would be useful to know the page type without > loading the page from swap. The information would continue to be > accessible from struct epc_page via the owner pointer that may make some > of the changes easier since it would not be needed to pass the page type > around so much and thus possibly address the SECS page issue that Sean > pointed out in > https://lore.kernel.org/lkml/YO3FuBupQTKYaKBf@google.com/
I think I noticed that the "owner" pointer in sgx_encl_page doesn't point back to the epc_page for all types of SGX pages. So some additional changes would be needed. I'm not at all sure why this is different (or what use the non-REG pages use "owner" for.
>> struct sgx_epc_page { >> unsigned int section; >> - unsigned int flags; >> + u16 flags; >> + u16 type; > > Could this be "enum sgx_page_type type" ?
Maybe. I thought I needed extra types (like FREE and DIRTY). But Sean pointed out how to avoid some of them.
-Tony
| |