Re: [PATCH v4 01/12] libvhost-user: set msg.msg_control to NULL when it is empty
On 8/5/24 09:44, 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. Reviewed-by: Eric Blake Reviewed-by: David Hildenbrand Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Stefano Garzarella --- subprojects/libvhost-user/libvhost-user.c | 1 + 1 file changed, 1 insertion(+) Tested-by: Philippe Mathieu-Daudé
Re: [PATCH v4 01/12] libvhost-user: set msg.msg_control to NULL when it is empty
On Wed, May 08, 2024 at 09:57:13AM GMT, Daniel P. Berrangé wrote: On Wed, May 08, 2024 at 09:44:45AM +0200, 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. Reviewed-by: Eric Blake Reviewed-by: David Hildenbrand Reviewed-by: Philippe Mathieu-Daud?? Philippe's name has got mangled here Thank you for bringing this to my attention and helping me solve it off-list. It should be fixed with the next posting! Stefano Signed-off-by: Stefano Garzarella --- 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 { -- 2.45.0 With regards, Daniel -- |: https://berrange.com -o-https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o-https://fstop138.berrange.com :| |: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|
Re: [PATCH v4 01/12] libvhost-user: set msg.msg_control to NULL when it is empty
On Wed, May 08, 2024 at 09:44:45AM +0200, 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. > > Reviewed-by: Eric Blake > Reviewed-by: David Hildenbrand > Reviewed-by: Philippe Mathieu-Daud?? Philippe's name has got mangled here > Signed-off-by: Stefano Garzarella > --- > 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 { > -- > 2.45.0 > With regards, Daniel -- |: https://berrange.com -o-https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o-https://fstop138.berrange.com :| |: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|