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@xxxxxxxxx> I honestly have zero idea what this patch is doing.