]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
libvhost-user: set msg.msg_control to NULL when it is empty
authorStefano Garzarella <sgarzare@redhat.com>
Tue, 18 Jun 2024 10:00:32 +0000 (12:00 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 2 Jul 2024 13:27:56 +0000 (09:27 -0400)
On some OS (e.g. macOS) sendmsg() returns -1 (errno EINVAL) if
the `struct msghdr` has the field `msg_controllen` set to 0, but
`msg_control` is not NULL.

Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100043.144657-3-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
subprojects/libvhost-user/libvhost-user.c

index 8adb277d545e2962aa7bd31aaf851d5770b7fb57..53bf1adda642b5ec76b06e9ca21aa6ec5611a9af 100644 (file)
@@ -632,6 +632,7 @@ vu_message_write(VuDev *dev, int conn_fd, VhostUserMsg *vmsg)
         memcpy(CMSG_DATA(cmsg), vmsg->fds, fdsize);
     } else {
         msg.msg_controllen = 0;
+        msg.msg_control = NULL;
     }
 
     do {