diff options
author | 2025-06-26 12:17:48 -0600 | |
---|---|---|
committer | 2025-06-26 12:17:48 -0600 | |
commit | 178b8ff66ff827c41b4fa105e9aabb99a0b5c537 (patch) | |
tree | 829ad60f69691824b13aaba88c84e45314add471 /rust/pin-init/internal/src | |
parent | io_uring/net: mark iov as dynamically allocated even for single segments (diff) | |
download | wireguard-linux-178b8ff66ff827c41b4fa105e9aabb99a0b5c537.tar.xz wireguard-linux-178b8ff66ff827c41b4fa105e9aabb99a0b5c537.zip |
io_uring/kbuf: flag partial buffer mappings
A previous commit aborted mapping more for a non-incremental ring for
bundle peeking, but depending on where in the process this peeking
happened, it would not necessarily prevent a retry by the user. That can
create gaps in the received/read data.
Add struct buf_sel_arg->partial_map, which can pass this information
back. The networking side can then map that to internal state and use it
to gate retry as well.
Since this necessitates a new flag, change io_sr_msg->retry to a
retry_flags member, and store both the retry and partial map condition
in there.
Cc: stable@vger.kernel.org
Fixes: 26ec15e4b0c1 ("io_uring/kbuf: don't truncate end buffer for multiple buffer peeks")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'rust/pin-init/internal/src')
0 files changed, 0 insertions, 0 deletions