mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-09-02 23:11:53 -06:00
libvhost-user: Fix VHOST_USER_GET_MAX_MEM_SLOTS reply
With REPLY_NEEDED, libvhost-user sends both the acutal result and an
additional ACK reply for VHOST_USER_GET_MAX_MEM_SLOTS. This is
incorrect, the spec mandates that it behave the same with and without
REPLY_NEEDED because it always sends a reply.
Fixes: 6fb2e173d2
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20220627134500.94842-3-kwolf@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
ea06220600
commit
69a5daec06
1 changed files with 2 additions and 9 deletions
|
@ -1827,18 +1827,11 @@ vu_handle_vring_kick(VuDev *dev, VhostUserMsg *vmsg)
|
||||||
|
|
||||||
static bool vu_handle_get_max_memslots(VuDev *dev, VhostUserMsg *vmsg)
|
static bool vu_handle_get_max_memslots(VuDev *dev, VhostUserMsg *vmsg)
|
||||||
{
|
{
|
||||||
vmsg->flags = VHOST_USER_REPLY_MASK | VHOST_USER_VERSION;
|
vmsg_set_reply_u64(vmsg, VHOST_USER_MAX_RAM_SLOTS);
|
||||||
vmsg->size = sizeof(vmsg->payload.u64);
|
|
||||||
vmsg->payload.u64 = VHOST_USER_MAX_RAM_SLOTS;
|
|
||||||
vmsg->fd_num = 0;
|
|
||||||
|
|
||||||
if (!vu_message_write(dev, dev->sock, vmsg)) {
|
|
||||||
vu_panic(dev, "Failed to send max ram slots: %s\n", strerror(errno));
|
|
||||||
}
|
|
||||||
|
|
||||||
DPRINT("u64: 0x%016"PRIx64"\n", (uint64_t) VHOST_USER_MAX_RAM_SLOTS);
|
DPRINT("u64: 0x%016"PRIx64"\n", (uint64_t) VHOST_USER_MAX_RAM_SLOTS);
|
||||||
|
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue