Skip to content
Commit 3a089881 authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring/net: only retry recv bundle for a full transfer

If a shorter than assumed transfer was seen, a partial buffer will have
been filled. For that case it isn't sane to attempt to fill more into
the bundle before posting a completion, as that will cause a gap in
the received data.

Check if the iterator has hit zero and only allow to continue a bundle
operation if that is the case.

Also ensure that for putting finished buffers, only the current transfer
is accounted. Otherwise too many buffers may be put for a short transfer.

Link: https://github.com/axboe/liburing/issues/1409


Cc: stable@vger.kernel.org
Fixes: 7c71a0af ("io_uring/net: improve recv bundles")
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent a7d755ed
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment