Re: [PATCH v4 3/3] x86/sgx: Resolve EREMOVE page vs EAUG page data race
From: Dmitrii Kuvaiskii
Date: Mon Aug 12 2024 - 04:40:34 EST
On Fri, Aug 09, 2024 at 11:19:22AM +0000, Huang, Kai wrote:
> > TLDR: I can add similar handling to sgx_enclave_modify_types() if
> > reviewers insist, but I don't see how this data race can ever be
> > triggered by benign real-world SGX applications.
>
> So as mentioned above, I intend to suggest to also apply the BUSY flag here.
> And we can have a consist rule in the kernel:
>
> If an enclave page is under certainly operation by the kernel with the mapping
> removed, other threads trying to access that page are temporarily blocked and
> should retry.
I agree with your assessment on the consequences of such bug in
sgx_enclave_modify_types(). To my understanding, this bug can only affect
the SGX enclave (i.e. the userspace) -- either the SGX enclave will hang
or will be terminated.
Anyway, I will apply the BUSY flag also in sgx_enclave_modify_types() in
the next iteration of this patch series.
--
Dmitrii Kuvaiskii