Commit 8726b70b authored by Johannes Berg's avatar Johannes Berg Committed by Michael S. Tsirkin
Browse files

libvhost-user: fix SLAVE_SEND_FD handling



It doesn't look like this could possibly work properly since
VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD is defined to 10, but the
dev->protocol_features has a bitmap. I suppose the peer this
was tested with also supported VHOST_USER_PROTOCOL_F_LOG_SHMFD,
in which case the test would always be false, but nevertheless
the code seems wrong.

Use has_feature() to fix this.

Fixes: d84599f5 ("libvhost-user: support host notifier")
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Message-Id: <20190903200422.11693-1-johannes@sipsolutions.net>
Reviewed-by: default avatarTiwei Bie <tiwei.bie@intel.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent eb1556c4
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1097,7 +1097,8 @@ bool vu_set_queue_host_notifier(VuDev *dev, VuVirtq *vq, int fd,

    vmsg.fd_num = fd_num;

    if ((dev->protocol_features & VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD) == 0) {
    if (!has_feature(dev->protocol_features,
                     VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD)) {
        return false;
    }