This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
[PATCH v5 0/4] vm: add a syscall to map a process memory into a pipe
- From: Mike Rapoport <rppt at linux dot vnet dot ibm dot com>
- To: Andrew Morton <akpm at linux-foundation dot org>, Alexander Viro <viro at zeniv dot linux dot org dot uk>
- Cc: linux-mm at kvack dot org, linux-fsdevel at vger dot kernel dot org, linux-kernel at vger dot kernel dot org, linux-api at vger dot kernel dot org, criu at openvz dot org, gdb at sourceware dot org, devel at lists dot open-mpi dot org, rr-dev at mozilla dot org, Arnd Bergmann <arnd at arndb dot de>, Pavel Emelyanov <xemul at virtuozzo dot com>, Michael Kerrisk <mtk dot manpages at gmail dot com>, Thomas Gleixner <tglx at linutronix dot de>, Josh Triplett <josh at joshtriplett dot org>, Jann Horn <jannh at google dot com>, Greg KH <gregkh at linuxfoundation dot org>, Andrei Vagin <avagin at openvz dot org>, Mike Rapoport <rppt at linux dot vnet dot ibm dot com>
- Date: Tue, 9 Jan 2018 08:30:49 +0200
- Subject: [PATCH v5 0/4] vm: add a syscall to map a process memory into a pipe
- Authentication-results: sourceware.org; auth=none
Hi,
This patches introduces new process_vmsplice system call that combines
functionality of process_vm_read and vmsplice.
It allows to map the memory of another process into a pipe, similarly to
what vmsplice does for its own address space.
The patch 2/4 ("vm: add a syscall to map a process memory into a pipe")
actually adds the new system call and provides its elaborate description.
The patchset is against -mm tree.
v5: update changelog with more elaborate usecase description
v4: skip test when process_vmsplice syscall is not available
v3: minor refactoring to reduce code duplication
v2: move this syscall under CONFIG_CROSS_MEMORY_ATTACH
give correct flags to get_user_pages_remote()
Andrei Vagin (3):
vm: add a syscall to map a process memory into a pipe
x86: wire up the process_vmsplice syscall
test: add a test for the process_vmsplice syscall
Mike Rapoport (1):
fs/splice: introduce pages_to_pipe helper
arch/x86/entry/syscalls/syscall_32.tbl | 1 +
arch/x86/entry/syscalls/syscall_64.tbl | 2 +
fs/splice.c | 262 +++++++++++++++++++--
include/linux/compat.h | 3 +
include/linux/syscalls.h | 4 +
include/uapi/asm-generic/unistd.h | 5 +-
kernel/sys_ni.c | 2 +
tools/testing/selftests/process_vmsplice/Makefile | 5 +
.../process_vmsplice/process_vmsplice_test.c | 196 +++++++++++++++
9 files changed, 458 insertions(+), 22 deletions(-)
create mode 100644 tools/testing/selftests/process_vmsplice/Makefile
create mode 100644 tools/testing/selftests/process_vmsplice/process_vmsplice_test.c
--
2.7.4