lkml.org 
[lkml]   [2016]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 0/5] all: s390: make compat wrappers the generic solution
    Date
    The problem that makes us use wrappers is that some compat
    architectures allows user code to access top halves of registers.
    This is not a problem for syscalls that are already handled by compat
    code, or for that who has types of the same size in kernel and
    userspace. In case of s390 and lp64/ilp32 the problem is in pointer
    types, long, unsigned long.

    S390 folks already have the solution for it. In this patchset,
    it is turned to be general, as arm64/ilp32 needs it too.

    This patchset is created as the part of the work of enabling arm64
    with ILP32 user mode. See details here:
    http://thread.gmane.org/gmane.linux.kernel/2126946

    Build-tested on s390.

    Yury Norov (5):
    all: s390: move wrapper infrastructure to generic headers
    all: declare new wrappers
    all: s390: redefine wrappers in generic code
    all: non-obvious wrappers
    introduce COMPAT_WRAPPER option and enable it for S390

    arch/Kconfig | 4 +
    arch/s390/Kconfig | 1 +
    arch/s390/include/asm/compat.h | 17 ++-
    arch/s390/kernel/Makefile | 2 +-
    arch/s390/kernel/compat_wrapper.c | 179 ------------------------
    arch/s390/kernel/entry.h | 2 +
    arch/s390/pci/pci_mmio.c | 5 +-
    drivers/char/random.c | 3 +-
    fs/aio.c | 4 +-
    fs/buffer.c | 3 +-
    fs/dcache.c | 3 +-
    fs/eventpoll.c | 4 +-
    fs/exec.c | 2 +-
    fs/fhandle.c | 3 +-
    fs/filesystems.c | 3 +-
    fs/namei.c | 29 ++--
    fs/namespace.c | 7 +-
    fs/notify/inotify/inotify_user.c | 3 +-
    fs/open.c | 20 +--
    fs/pipe.c | 5 +-
    fs/quota/quota.c | 3 +-
    fs/read_write.c | 2 +-
    fs/readdir.c | 6 +
    fs/select.c | 3 +-
    fs/splice.c | 4 +-
    fs/stat.c | 5 +-
    fs/xattr.c | 25 ++--
    include/linux/compat.h | 280 ++++++++++++++++++++++++++++++++++++++
    include/linux/syscalls.h | 57 +-------
    include/linux/syscalls_structs.h | 60 ++++++++
    include/uapi/asm-generic/unistd.h | 224 +++++++++++++++---------------
    ipc/mqueue.c | 3 +-
    kernel/acct.c | 3 +-
    kernel/bpf/syscall.c | 3 +-
    kernel/capability.c | 5 +-
    kernel/events/core.c | 2 +-
    kernel/fork.c | 12 +-
    kernel/groups.c | 5 +-
    kernel/kcmp.c | 3 +-
    kernel/module.c | 7 +-
    kernel/printk/printk.c | 3 +-
    kernel/reboot.c | 3 +-
    kernel/sched/core.c | 11 +-
    kernel/seccomp.c | 2 +-
    kernel/signal.c | 6 +-
    kernel/sys.c | 16 +--
    kernel/sys_ni.c | 104 +++++++-------
    mm/madvise.c | 3 +-
    mm/mincore.c | 3 +-
    mm/mlock.c | 7 +-
    mm/mmap.c | 7 +-
    mm/mprotect.c | 3 +-
    mm/mremap.c | 3 +-
    mm/msync.c | 3 +-
    mm/nommu.c | 7 +-
    mm/shmem.c | 3 +-
    mm/swapfile.c | 5 +-
    net/socket.c | 14 +-
    security/keys/keyctl.c | 5 +-
    59 files changed, 699 insertions(+), 520 deletions(-)
    delete mode 100644 arch/s390/kernel/compat_wrapper.c
    create mode 100644 include/linux/syscalls_structs.h

    --
    2.5.0

    \
     
     \ /
      Last update: 2016-01-25 19:01    [W:5.373 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site