Re: [PATCH v5 3/3] x86/sgx: Fine grained SGX MCA behavior for normal case

Dave Hansen
2022-07-21T16:57:21Z

On 6/22/22 02:37, Zhiquan Li wrote:
> When the application accesses a SGX EPC page with memory failure, the
> task will receive a SIGBUS signal without any extra info, unless the
> EPC page has SGX_EPC_PAGE_KVM_GUEST flag. However, in some cases,
> we only use SGX in sub-task and we don't expect the entire task group
> be killed due to a SGX EPC page for a sub-task has memory failure.
>
> To fix it, we extend the solution for normal case. That is, the SGX
> regular EPC page with memory failure will trigger a SIGBUS signal with
> code BUS_MCEERR_AR and additional info, so that the user has opportunity
> to make further decision.
>
> Suppose an enclave is shared by multiple processes, when an enclave page
> triggers a machine check, the enclave will be disabled so that it
> couldn't be entered again. Killing other processes with the same enclave
> mapped would perhaps be overkill, but they are going to find that the
> enclave is "dead" next time they try to use it. Thanks for Jarkko's head
> up and Tony's clarification on this point.
>
> Our intension is to provide additional info so that the application has
> more choices. Current behavior looks gently, and we don't want to change
> it.
>
> Signed-off-by: Zhiquan Li <zhiquan1.li@intel.com>

I honestly have zero idea what this patch is doing.