projects
/
sdk
/
emulator
/
emulator-kernel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e993ffe
)
io_uring/net: fail zc send when unsupported by socket
author
Pavel Begunkov
<asml.silence@gmail.com>
Fri, 21 Oct 2022 10:16:40 +0000
(11:16 +0100)
committer
Jens Axboe
<axboe@kernel.dk>
Sat, 22 Oct 2022 14:43:03 +0000
(08:43 -0600)
If a protocol doesn't support zerocopy it will silently fall back to
copying. This type of behaviour has always been a source of troubles
so it's better to fail such requests instead.
Cc: <stable@vger.kernel.org> # 6.0
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link:
https://lore.kernel.org/r/2db3c7f16bb6efab4b04569cd16e6242b40c5cb3.1666346426.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/net.c
patch
|
blob
|
history
diff --git
a/io_uring/net.c
b/io_uring/net.c
index
8c7226b
..
26ff367
100644
(file)
--- a/
io_uring/net.c
+++ b/
io_uring/net.c
@@
-1056,6
+1056,8
@@
int io_send_zc(struct io_kiocb *req, unsigned int issue_flags)
sock = sock_from_file(req->file);
if (unlikely(!sock))
return -ENOTSOCK;
+ if (!test_bit(SOCK_SUPPORT_ZC, &sock->flags))
+ return -EOPNOTSUPP;
msg.msg_name = NULL;
msg.msg_control = NULL;