diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 42b5f9575d84..f169b4645769 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -5053,7 +5053,7 @@ static int io_recvmsg(struct io_kiocb *req, unsigned int issue_flags) flags = req->sr_msg.msg_flags; if (force_nonblock) flags |= MSG_DONTWAIT; - if (flags & MSG_WAITALL) + if (flags & MSG_WAITALL && !kmsg->msg.msg_controllen) min_ret = iov_iter_count(&kmsg->msg.msg_iter); ret = __sys_recvmsg_sock(sock, &kmsg->msg, req->sr_msg.umsg,