Command handlers shouldn't send replies themselves, but just prepare the message and let vu_dispatch() send it. Otherwise, vu_dispatch() will add a second reply as an ACK when NEED_REPLY was requested.
QEMU's vhost-user devices are not affected by these bugs because they don't set NEED_REPLY for the commands that get it wrong. libblkio does run into it, though. Kevin Wolf (3): docs/vhost-user: Fix mismerge libvhost-user: Fix VHOST_USER_GET_MAX_MEM_SLOTS reply libvhost-user: Fix VHOST_USER_ADD_MEM_REG reply docs/interop/vhost-user.rst | 16 ---------------- subprojects/libvhost-user/libvhost-user.c | 19 +++---------------- 2 files changed, 3 insertions(+), 32 deletions(-) -- 2.35.3
