On 26.03.24 14:39, Stefano Garzarella wrote:
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.

Signed-off-by: Stefano Garzarella <sgarz...@redhat.com>
---
  subprojects/libvhost-user/libvhost-user.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/subprojects/libvhost-user/libvhost-user.c 
b/subprojects/libvhost-user/libvhost-user.c
index a879149fef..22bea0c775 100644
--- a/subprojects/libvhost-user/libvhost-user.c
+++ b/subprojects/libvhost-user/libvhost-user.c
@@ -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 {

Reviewed-by: David Hildenbrand <da...@redhat.com>

--
Cheers,

David / dhildenb


Reply via email to