lkml.org 
[lkml]   [2014]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v14 net-next 02/11] bpf: enable bpf syscall on x64 and i386
    Date
    done as separate commit to ease conflict resolution

    Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
    ---
    arch/x86/syscalls/syscall_32.tbl | 1 +
    arch/x86/syscalls/syscall_64.tbl | 1 +
    include/linux/syscalls.h | 3 ++-
    include/uapi/asm-generic/unistd.h | 4 +++-
    kernel/sys_ni.c | 3 +++
    5 files changed, 10 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/syscalls/syscall_32.tbl b/arch/x86/syscalls/syscall_32.tbl
    index 028b78168d85..9fe1b5d002f0 100644
    --- a/arch/x86/syscalls/syscall_32.tbl
    +++ b/arch/x86/syscalls/syscall_32.tbl
    @@ -363,3 +363,4 @@
    354 i386 seccomp sys_seccomp
    355 i386 getrandom sys_getrandom
    356 i386 memfd_create sys_memfd_create
    +357 i386 bpf sys_bpf
    diff --git a/arch/x86/syscalls/syscall_64.tbl b/arch/x86/syscalls/syscall_64.tbl
    index 35dd922727b9..281150b539a2 100644
    --- a/arch/x86/syscalls/syscall_64.tbl
    +++ b/arch/x86/syscalls/syscall_64.tbl
    @@ -327,6 +327,7 @@
    318 common getrandom sys_getrandom
    319 common memfd_create sys_memfd_create
    320 common kexec_file_load sys_kexec_file_load
    +321 common bpf sys_bpf

    #
    # x32-specific system call numbers start at 512 to avoid cache impact
    diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
    index 0f86d85a9ce4..bda9b81357cc 100644
    --- a/include/linux/syscalls.h
    +++ b/include/linux/syscalls.h
    @@ -65,6 +65,7 @@ struct old_linux_dirent;
    struct perf_event_attr;
    struct file_handle;
    struct sigaltstack;
    +union bpf_attr;

    #include <linux/types.h>
    #include <linux/aio_abi.h>
    @@ -875,5 +876,5 @@ asmlinkage long sys_seccomp(unsigned int op, unsigned int flags,
    const char __user *uargs);
    asmlinkage long sys_getrandom(char __user *buf, size_t count,
    unsigned int flags);
    -
    +asmlinkage long sys_bpf(int cmd, union bpf_attr *attr, unsigned int size);
    #endif
    diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h
    index 11d11bc5c78f..22749c134117 100644
    --- a/include/uapi/asm-generic/unistd.h
    +++ b/include/uapi/asm-generic/unistd.h
    @@ -705,9 +705,11 @@ __SYSCALL(__NR_seccomp, sys_seccomp)
    __SYSCALL(__NR_getrandom, sys_getrandom)
    #define __NR_memfd_create 279
    __SYSCALL(__NR_memfd_create, sys_memfd_create)
    +#define __NR_bpf 280
    +__SYSCALL(__NR_bpf, sys_bpf)

    #undef __NR_syscalls
    -#define __NR_syscalls 280
    +#define __NR_syscalls 281

    /*
    * All syscalls below here should go away really,
    diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c
    index 391d4ddb6f4b..b4b5083f5f5e 100644
    --- a/kernel/sys_ni.c
    +++ b/kernel/sys_ni.c
    @@ -218,3 +218,6 @@ cond_syscall(sys_kcmp);

    /* operate on Secure Computing state */
    cond_syscall(sys_seccomp);
    +
    +/* access BPF programs and maps */
    +cond_syscall(sys_bpf);
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2014-09-22 02:41    [W:4.010 / U:0.628 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site