Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\splice.c Create Date:2022-07-28 20:11:28
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Note that vmsplice only really supports true splicing _from_ user memory* to a pipe, not the other way around. Splicing from user memory is a simple* operation that can be supported without any funky alignment restrictions* or nasty vm tricks

Proto:static long do_vmsplice(struct file *f, struct iov_iter *iter, unsigned int flags)

Type:long

Parameter:

TypeParameterName
struct file *f
struct iov_iter *iter
unsigned intflags
1363  If Value for the false possibility is greater at compile time(flags & ~SPLICE_F_ALL) Then Return -EINVAL
1366  If Not iov_iter_count(iter) Then Return 0
1369  If iov_iter_rw(iter) == WRITE Then Return vmsplice splices a user address range into a pipe. It can be thought of* as splice-from-memory, where the regular splice is splice-from-file (or* to file). In both cases the output is a pipe, naturally.
1371  Else Return For lack of a better implementation, implement vmsplice() to userspace* as a simple copy of the pipes pages to the user iov.
Caller
NameDescribe
SYSCALL_DEFINE4
COMPAT_SYSCALL_DEFINE4