Re: [PATCH V2] x86/sgx: Fix free page accounting

From: Jarkko Sakkinen
Date: Wed Nov 10 2021 - 21:55:19 EST


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