[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/3] libvhost-user: Fix extra vu_add/rem_mem_reg reply
From: |
Raphael Norwitz |
Subject: |
Re: [PATCH 2/3] libvhost-user: Fix extra vu_add/rem_mem_reg reply |
Date: |
Fri, 8 Apr 2022 23:51:42 +0000 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Thu, Apr 07, 2022 at 03:36:56PM +0200, Kevin Wolf wrote:
> Outside of postcopy mode, neither VHOST_USER_ADD_MEM_REG nor
> VHOST_USER_REM_MEM_REG are supposed to send a reply unless explicitly
> requested with the need_reply flag. Their current implementation always
> sends a reply, even if it isn't requested. This confuses the master
> because it will interpret the reply as a reply for the next message for
> which it actually expects a reply.
>
> need_reply is already handled correctly by vu_dispatch(), so just don't
> send a reply in the non-postcopy part of the message handler for these
> two commands.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
> ---
> subprojects/libvhost-user/libvhost-user.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/subprojects/libvhost-user/libvhost-user.c
> b/subprojects/libvhost-user/libvhost-user.c
> index 47d2efc60f..eccaff5168 100644
> --- a/subprojects/libvhost-user/libvhost-user.c
> +++ b/subprojects/libvhost-user/libvhost-user.c
> @@ -800,8 +800,7 @@ vu_add_mem_reg(VuDev *dev, VhostUserMsg *vmsg) {
>
> DPRINT("Successfully added new region\n");
> dev->nregions++;
> - vmsg_set_reply_u64(vmsg, 0);
> - return true;
> + return false;
> }
> }
>
> @@ -874,15 +873,13 @@ vu_rem_mem_reg(VuDev *dev, VhostUserMsg *vmsg) {
> }
> }
>
> - if (found) {
> - vmsg_set_reply_u64(vmsg, 0);
> - } else {
> + if (!found) {
> vu_panic(dev, "Specified region not found\n");
> }
>
> close(vmsg->fds[0]);
>
> - return true;
> + return false;
> }
>
> static bool
> --
> 2.35.1
>