Re: [PATCH v14 09/19] x86/mm: x86/sgx: Signal SEGV_SGXERR for #PFs w/ PF_SGX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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.



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux