Re: [PATCH] io_uring/net: clear msg_controllen on partial sendmsg retry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jens,

If we have cmsg attached AND we transferred partial data at least, clear
msg_controllen on retry so we don't attempt to send that again.

Cc: stable@xxxxxxxxxxxxxxx # 5.10+
Fixes: cac9e4418f4c ("io_uring/net: save msghdr->msg_control for retries")
Reported-by: Stefan Metzmacher <metze@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>

---

diff --git a/io_uring/net.c b/io_uring/net.c
index 51b0f7fbb4f5..fe1c478c7dec 100644
--- a/io_uring/net.c
+++ b/io_uring/net.c
@@ -326,6 +326,7 @@ int io_sendmsg(struct io_kiocb *req, unsigned int issue_flags)
  		if (ret == -EAGAIN && (issue_flags & IO_URING_F_NONBLOCK))
  			return io_setup_async_msg(req, kmsg, issue_flags);
  		if (ret > 0 && io_net_retry(sock, flags)) {
+			kmsg->msg.msg_controllen = 0;
  			sr->done_io += ret;
  			req->flags |= REQ_F_PARTIAL_IO;
  			return io_setup_async_msg(req, kmsg, issue_flags);


Should we also set 'kmsg->msg.msg_control' to NULL?

metze



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux