> On Sep 26, 2018, at 10:35 AM, Sean Christopherson <sean.j.christopherson@xxxxxxxxx> wrote: > >> On Tue, Sep 25, 2018 at 03:53:48PM -0700, Andy Lutomirski wrote: >> Minor nit: >> >> On Tue, Sep 25, 2018 at 6:12 AM Jarkko Sakkinen >> <jarkko.sakkinen@xxxxxxxxxxxxxxx> wrote: >>> >>> From: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> >>> >> >>> by (c) as the kernel doesn't really have any other reasonable option, >>> e.g. we could kill the task or panic, but neither is warranted. >> >> Not killing the task is quite nice, but... >> >>> + /* >>> + * Access is blocked by the Enclave Page Cache Map (EPCM), >>> + * i.e. the access is allowed by the PTE but not the EPCM. >>> + * This usually happens when the EPCM is yanked out from >>> + * under us, e.g. by hardware after a suspend/resume cycle. >>> + * In any case, there is nothing that can be done by the >>> + * kernel to resolve the fault (short of killing the task). >> >> Maybe s/killing the task/sending a signal/? > > My intent was to document that, unlike all other page faults, the > kernel can't fix the source of the fault even if it were omniscient. > > How about this? With formatting changes since it's long-winded... > > /* > * Access is blocked by the Enclave Page Cache Map (EPCM), i.e. the > * access is allowed by the PTE but not the EPCM. This usually happens > * when the EPCM is yanked out from under us, e.g. by hardware after a > * suspend/resume cycle. In any case, software, i.e. the kernel, can't > * fix the source of the fault as the EPCM can't be directly modified > * by software. Handle the fault as an access error in order to signal > * userspace, e.g. so that userspace can rebuild their enclave(s), even > * though userspace may not have actually violated access permissions. > */ > Looks good to me.