MSG_SPLICE_PAGES
if (msg->msg_flags & MSG_SPLICE_PAGES) {
if (ctx->merge && !(msg->msg_flags & MSG_SPLICE_PAGES)) {
msg.msg_flags |= MSG_NOSIGNAL | MSG_SPLICE_PAGES;
.msg_flags = (MSG_MORE | MSG_DONTWAIT | MSG_SPLICE_PAGES),
msg.msg_flags &= ~MSG_SPLICE_PAGES;
if (msg->msg_flags & MSG_SPLICE_PAGES) {
.msg_flags = MSG_DONTWAIT | MSG_SPLICE_PAGES,
msg.msg_flags &= ~MSG_SPLICE_PAGES;
struct msghdr msg = { .msg_flags = MSG_DONTWAIT | MSG_SPLICE_PAGES, };
msg.msg_flags |= MSG_SPLICE_PAGES;
.msg_flags = MSG_DONTWAIT | MSG_MORE | MSG_SPLICE_PAGES,
.msg_flags = MSG_DONTWAIT | MSG_SPLICE_PAGES,
struct msghdr msg = { .msg_flags = MSG_DONTWAIT | MSG_SPLICE_PAGES, };
struct msghdr msg = { .msg_flags = MSG_DONTWAIT | MSG_SPLICE_PAGES, };
msg.msg_flags |= MSG_SPLICE_PAGES;
struct msghdr msghdr = { .msg_flags = MSG_SPLICE_PAGES, };
.msg_flags = MSG_SPLICE_PAGES | MSG_DONTWAIT | MSG_NOSIGNAL,
msg.msg_flags = MSG_DONTWAIT | MSG_SPLICE_PAGES;
msg.msg_flags = MSG_SPLICE_PAGES;
(MSG_SPLICE_PAGES | MSG_SENDPAGE_NOPOLICY | MSG_SENDPAGE_DECRYPTED)
msg.msg_flags |= MSG_SPLICE_PAGES;
msg.msg_flags |= MSG_SPLICE_PAGES;
msg.msg_flags &= ~MSG_SPLICE_PAGES;
.msg_flags = MSG_SPLICE_PAGES | MSG_DONTWAIT |
} else if ((flags & MSG_SPLICE_PAGES) && length) {
flags &= ~MSG_SPLICE_PAGES;
} else if (flags & MSG_SPLICE_PAGES) {
} else if (flags & MSG_SPLICE_PAGES) {
} else if (unlikely(msg->msg_flags & MSG_SPLICE_PAGES) && size) {
zc = MSG_SPLICE_PAGES;
} else if (zc == MSG_SPLICE_PAGES) {
msghdr.msg_flags = flags | MSG_SPLICE_PAGES;
} else if ((flags & MSG_SPLICE_PAGES) && length) {
flags &= ~MSG_SPLICE_PAGES;
if (copy < 0 && !(flags & MSG_SPLICE_PAGES)) {
} else if (flags & MSG_SPLICE_PAGES) {
} else if (flags & MSG_SPLICE_PAGES) {
.msg_flags = MSG_DONTWAIT | MSG_SPLICE_PAGES,
if (msg->msg_flags & MSG_SPLICE_PAGES) {
msg.msg_flags = MSG_SPLICE_PAGES | MSG_DONTWAIT | MSG_NOSIGNAL;
msg.msg_flags = MSG_SPLICE_PAGES;
msg.msg_flags = MSG_SPLICE_PAGES;
msg.msg_flags = MSG_SPLICE_PAGES;
msg.msg_flags = MSG_SPLICE_PAGES;
.msg_flags = MSG_SPLICE_PAGES,
.msg_flags = MSG_SPLICE_PAGES,
MSG_SPLICE_PAGES | MSG_EOR))
if (copy && (flags & MSG_SPLICE_PAGES)) {
msg->msg_flags &= ~MSG_SPLICE_PAGES;
.msg_flags = MSG_SPLICE_PAGES | flags,
if (try_to_copy && (msg->msg_flags & MSG_SPLICE_PAGES)) {
MSG_CMSG_COMPAT | MSG_SPLICE_PAGES | MSG_EOR |
if (unlikely(msg->msg_flags & MSG_SPLICE_PAGES)) {
if (unlikely(msg->msg_flags & MSG_SPLICE_PAGES)) {
.msg_flags = flags | MSG_SPLICE_PAGES | MSG_MORE,
(MSG_SPLICE_PAGES | MSG_SENDPAGE_NOPOLICY | MSG_SENDPAGE_DECRYPTED)
#ifndef MSG_SPLICE_PAGES