On Wed, 2021-11-10 at 10:51 -0800, Reinette Chatre wrote:
sgx_should_reclaim() would only succeed when sgx_nr_free_pages goes below the watermark. Once sgx_nr_free_pages becomes corrupted there is no clear way in which it can correct itself since it is only ever incremented or decremented.
So one scenario would be:
1. CPU A does a READ of sgx_nr_free_pages. 2. CPU B does a READ of sgx_nr_free_pages. 3. CPU A does a STORE of sgx_nr_free_pages. 4. CPU B does a STORE of sgx_nr_free_pages.
?
That does corrupt the value, yes, but I don't see anything like this in the commit message, so I'll have to check.
I think the commit message is lacking a concurrency scenario, and the current transcripts are a bit useless.
/Jarkko