lkml.org 
[lkml]   [2018]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCHv4 00/19] arm64: invoke syscalls with pt_regs
    On Mon, Jul 02, 2018 at 12:03:56PM +0100, Mark Rutland wrote:
    > This series reworks arm64's syscall handling to minimize the propagation
    > of user-controlled register values into speculated code paths. As with
    > x86 [1], a wrapper is generated for each syscall, which extracts the
    > argument from a struct pt_regs. During kernel entry from userspace,
    > registers are zeroed.
    >
    > The arm64 kernel code directly invokes some syscalls which the x86 code
    > doesn't, so I've added ksys_* wrappers for these, following the x86
    > example. The rest of the series is arm64-specific.
    >
    > I've pushed the series out to my arm64/syscall-regs branch [2] on
    > kernel.org.

    One thing I noticed with this series applied is that our sys_call_table
    declarations all get a bit muddled:

    arm64/kernel/sys.c: void * const sys_call_table[]
    arm64/kernel/sys32.c: void * const compat_sys_call_table[]
    arm64/kernel/syscall.c: extern syscall_fn_t sys_call_table[];
    extern syscall_fn_t compat_sys_call_table[];
    arm64/include/asm/syscall.h: extern const void *sys_call_table[];

    Can we tidy this up so that syscall.h provides a declaration using
    syscall_fn_t, allowing us to drop the additional externs?

    Will

    \
     
     \ /
      Last update: 2018-07-10 12:39    [W:4.338 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site