lkml.org 
[lkml]   [2020]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v33 15/21] x86/vdso: Add support for exception fixup in vDSO functions
    On Tue, Jun 30, 2020 at 1:41 AM Borislav Petkov <bp@alien8.de> wrote:
    >
    > On Mon, Jun 29, 2020 at 11:00:55PM -0700, Sean Christopherson wrote:
    > > E.g. the vDSO function should get the fixup even if userspace screws
    > > up mmap() and invokes __vdso_sgx_enter_enclave() without being tagged
    > > an SGX task.
    >
    > I sincerely hope you don't mean this seriously.
    >
    > Please add a member to task_struct which denotes that a task is an
    > sgx task, test that member where needed and forget real quickly about
    > running *any* *fixup* for unrelated tasks.

    I don't see the problem. If you call this magic vDSO function and get
    a fault, it gets handled. What's the failure mode?

    >
    > > No hard dependency, it's normal kernel code. My reasoning for dropping it
    > > in .../vdso was largely to co-locate it with vdso/extable.h due to the
    > > dependency on the format of 'struct vdso_exception_table_entry'.
    >
    > A struct which you defined instead of simply using struct
    > exception_table_entry even if it has a handler member which would remain
    > unused?

    Don't forget the cross-arch issue. We need that structure to have
    constant layout so that the -m32 build from the vDSO has the same
    layout as in the kernel.

    So my only actual objection to the patch is that there should probably
    be a comment above the structure reminding people that it needs to
    have the same layout on 32-bit, x32, and x86_64. So maybe the entries
    should be s32 instead of int, although this doesn't really matter.

    \
     
     \ /
      Last update: 2020-06-30 18:49    [W:2.477 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site