diff --git a/fs/io_uring.c b/fs/io_uring.c index ed6abd74f386..af856a8ce5ff 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -4762,7 +4762,8 @@ static int io_setup_async_msg(struct io_kiocb *req, async_msg = req->async_data; req->flags |= REQ_F_NEED_CLEANUP; memcpy(async_msg, kmsg, sizeof(*kmsg)); - async_msg->msg.msg_name = &async_msg->addr; + if (async_msg->msg.msg_name) + async_msg->msg.msg_name = &async_msg->addr; /* if were using fast_iov, set it to the new one */ if (!async_msg->free_iov) async_msg->msg.msg_iter.iov = async_msg->fast_iov;