vhost: fix payload size of reply
authorMaxime Coquelin <maxime.coquelin@redhat.com>
Fri, 12 Oct 2018 12:40:32 +0000 (14:40 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 18 Oct 2018 08:24:39 +0000 (10:24 +0200)
QEMU doesn't expect any payload for the reply of
VHOST_USER_SET_LOG_BASE request, so don't send any.
Note that the Vhost-user specification isn't clear about
it and would need to be fixed.

Fixes: 54f9e32305d4 ("vhost: handle dirty pages logging request")
Cc: stable@dpdk.org
Reported-by: Ilya Maximets <i.maximets@samsung.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Ilya Maximets <i.maximets@samsung.com>
lib/librte_vhost/vhost_user.c

index a772999..1ef02c9 100644 (file)
@@ -1286,7 +1286,11 @@ vhost_user_set_log_base(struct virtio_net **pdev, struct VhostUserMsg *msg)
        dev->log_base = dev->log_addr + off;
        dev->log_size = size;
 
-       msg->size = sizeof(msg->payload.u64);
+       /*
+        * The spec is not clear about it (yet), but QEMU doesn't expect
+        * any payload in the reply.
+        */
+       msg->size = 0;
 
        return VH_RESULT_REPLY;
 }