On 16/06/2026 16:09, Stefano Garzarella wrote: > On Sun, Jun 14, 2026 at 08:47:56PM +0300, Arseniy Krasnov wrote: >> Logically it was based on TCP implementation, so make further support >> easier, rewrite it in the TCP way. > > Hi Arseniy, and thank you so much for the patch! > > I’d like to ask you to expand on the message a bit, especially to explain why > we’re making this change. > > In particular, I’d like to better understand whether this is just a cosmetic > change or if we’re fixing any issues (and if so, which ones), so we can > determine whether this patch should be backported to the stable branches.
This is cosmetic change. I'll update commit message in v3. > >> >> Signed-off-by: Arseniy Krasnov <[email protected]> >> --- >> Changelog v1->v2: >> * Rebase on last 'net-next'. Don't need 'skb_zcopy_set()' now - it was >> already added. > > Ah, okay is net-next material, please use the net-next tag (ie. [PATCH > net-next v2]). Sure! > >> >> net/vmw_vsock/virtio_transport_common.c | 48 ++++++++++++------------- >> 1 file changed, 23 insertions(+), 25 deletions(-) >> >> diff --git a/net/vmw_vsock/virtio_transport_common.c >> b/net/vmw_vsock/virtio_transport_common.c >> index 09475007165b..787524b8cb44 100644 >> --- a/net/vmw_vsock/virtio_transport_common.c >> +++ b/net/vmw_vsock/virtio_transport_common.c >> @@ -328,38 +328,36 @@ static int virtio_transport_send_pkt_info(struct >> vsock_sock *vsk, >> if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) >> return pkt_len; >> >> - if (info->msg) { >> - /* If zerocopy is not enabled by 'setsockopt()', we behave as >> - * there is no MSG_ZEROCOPY flag set. >> + if (info->msg && (info->msg->msg_flags & MSG_ZEROCOPY)) { >> + /* If 'info->msg' is not NULL, this is only VIRTIO_VSOCK_OP_RW. >> + * 'MSG_ZEROCOPY' flag handling here is based on the same flag >> + * handling from 'tcp_sendmsg_locked()'. >> */ >> - if (!sock_flag(sk_vsock(vsk), SOCK_ZEROCOPY)) >> - info->msg->msg_flags &= ~MSG_ZEROCOPY; >> + if (info->msg->msg_ubuf) { >> + uarg = info->msg->msg_ubuf; >> + can_zcopy = virtio_transport_can_zcopy(t_ops, info, pkt_len); >> + } else if (sock_flag(sk_vsock(vsk), SOCK_ZEROCOPY)) { >> + uarg = msg_zerocopy_realloc(sk_vsock(vsk), pkt_len, >> + NULL, false); >> + if (!uarg) { >> + virtio_transport_put_credit(vvs, pkt_len); >> + return -ENOMEM; >> + } >> >> - if (info->msg->msg_flags & MSG_ZEROCOPY) >> can_zcopy = virtio_transport_can_zcopy(t_ops, info, pkt_len); >> > > nit: we can remove this extra blank line. > > For the rest I can't see anything wrong, but a bit more context in the commit > would help me in the review. Ack, I'll update commit message in v3. Also need to check some reports about pre-existing issues from sashiko, triggered by this patch. Thanks! > > Thanks, > Stefano >

