diff options
author | Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | 2024-10-14 09:03:34 +0200 |
---|---|---|
committer | Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | 2024-10-14 09:03:34 +0200 |
commit | bebb45743d52fea1ac0a4a9f465f11d11e885f40 (patch) | |
tree | a1dda3e26ac754e78cbb9734dae3f13f3a8adf39 /io_uring/net.c | |
parent | ea7f2dfd13e096dce3198e5ffdb00d21bf7c8fe5 (diff) | |
parent | 8e929cb546ee42c9a61d24fae60605e9e3192354 (diff) |
Merge tag 'v6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into gpio/for-next
Linux 6.12-rc3
Diffstat (limited to 'io_uring/net.c')
-rw-r--r-- | io_uring/net.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/io_uring/net.c b/io_uring/net.c index f10f5a22d66a..18507658a921 100644 --- a/io_uring/net.c +++ b/io_uring/net.c @@ -1133,6 +1133,7 @@ int io_recv(struct io_kiocb *req, unsigned int issue_flags) int ret, min_ret = 0; bool force_nonblock = issue_flags & IO_URING_F_NONBLOCK; size_t len = sr->len; + bool mshot_finished; if (!(req->flags & REQ_F_POLLED) && (sr->flags & IORING_RECVSEND_POLL_FIRST)) @@ -1187,6 +1188,7 @@ out_free: req_set_fail(req); } + mshot_finished = ret <= 0; if (ret > 0) ret += sr->done_io; else if (sr->done_io) @@ -1194,7 +1196,7 @@ out_free: else io_kbuf_recycle(req, issue_flags); - if (!io_recv_finish(req, &ret, kmsg, ret <= 0, issue_flags)) + if (!io_recv_finish(req, &ret, kmsg, mshot_finished, issue_flags)) goto retry_multishot; return ret; |