linux-stable/io_uring
Pavel Begunkov dfb58b1796 io_uring/net: fix overexcessive retries
Length parameter of io_sg_from_iter() can be smaller than the iterator's
size, as it's with TCP, so when we set from->count at the end of the
function we truncate the iterator forcing TCP to return preliminary with
a short send. It affects zerocopy sends with large payload sizes and
leads to retries and possible request failures.

Fixes: 3ff1a0d395 ("io_uring: enable managed frags with register buffers")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/0bc0d5179c665b4ef5c328377c84c7a1f298467e.1661530037.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-08-26 10:31:42 -06:00
..
advise.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
advise.h
alloc_cache.h
cancel.c io_uring: fix off-by-one in sync cancelation file check 2022-08-23 07:26:08 -06:00
cancel.h
epoll.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
epoll.h
fdinfo.c
fdinfo.h
filetable.c
filetable.h
fs.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
fs.h
io-wq.c
io-wq.h
io_uring.c io_uring: conditional ->async_data allocation 2022-08-24 08:57:28 -06:00
io_uring.h
kbuf.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
kbuf.h
Makefile
msg_ring.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
msg_ring.h
net.c io_uring/net: fix overexcessive retries 2022-08-26 10:31:42 -06:00
net.h io_uring/net: save address for sendzc async execution 2022-08-25 07:52:30 -06:00
nop.c
nop.h
notif.c io_uring/notif: order notif vs send CQEs 2022-08-24 08:57:28 -06:00
notif.h io_uring/notif: raise limit on notification slots 2022-08-15 21:34:00 -06:00
opdef.c io_uring/net: save address for sendzc async execution 2022-08-25 07:52:30 -06:00
opdef.h io_uring: conditional ->async_data allocation 2022-08-24 08:57:28 -06:00
openclose.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
openclose.h
poll.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
poll.h
refs.h
rsrc.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
rsrc.h
rw.c io_uring-6.0-2022-08-13 2022-08-13 13:28:54 -07:00
rw.h
slist.h
splice.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
splice.h
sqpoll.c
sqpoll.h
statx.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
statx.h
sync.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
sync.h
tctx.c
tctx.h
timeout.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
timeout.h
uring_cmd.c io_uring: fix submission-failure handling for uring-cmd 2022-08-23 09:46:17 -06:00
uring_cmd.h
xattr.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
xattr.h