From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Coquelin Subject: Re: [PATCH v2 02/17] vhost: fix return code of messages requiring replies Date: Wed, 3 Oct 2018 16:49:58 +0200 Message-ID: <9ab6a638-f89d-5509-fd99-7d4be219aa04@redhat.com> References: <20181002093651.24795-1-maxime.coquelin@redhat.com> <20181002093651.24795-3-maxime.coquelin@redhat.com> <20181003132429eucas1p195b034c06ad265826eee360abc775cd8~aHA4HDRm11505315053eucas1p1U@eucas1p1.samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: dgilbert@redhat.com, stable@dpdk.org To: Ilya Maximets , dev@dpdk.org, tiwei.bie@intel.com, zhihong.wang@intel.com, jfreimann@redhat.com, nicknickolaev@gmail.com, bruce.richardson@intel.com, alejandro.lucero@netronome.com Return-path: In-Reply-To: <20181003132429eucas1p195b034c06ad265826eee360abc775cd8~aHA4HDRm11505315053eucas1p1U@eucas1p1.samsung.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 10/03/2018 03:26 PM, Ilya Maximets wrote: > On 02.10.2018 12:36, Maxime Coquelin wrote: >> VHOST_USER_GET_PROTOCOL_FEATURES, VHOST_USER_GET_VRING_BASE >> and VHOST_USER_SET_LOG_BASE require replies, so their handlers >> should return VH_RESULT_REPLY, not VH_RESULT_OK. >> >> Fixes: 2cfbbb86c62a ("vhost: unify message handling function signature") >> >> Signed-off-by: Maxime Coquelin >> --- >> lib/librte_vhost/vhost_user.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c >> index 060b41893..ce0ac0098 100644 >> --- a/lib/librte_vhost/vhost_user.c >> +++ b/lib/librte_vhost/vhost_user.c >> @@ -1161,7 +1161,7 @@ vhost_user_get_vring_base(struct virtio_net **pdev, >> >> msg->size = sizeof(msg->payload.state); >> >> - return VH_RESULT_OK; >> + return VH_RESULT_REPLY; >> } >> >> /* >> @@ -1218,7 +1218,7 @@ vhost_user_get_protocol_features(struct virtio_net **pdev, >> msg->payload.u64 = protocol_features; >> msg->size = sizeof(msg->payload.u64); >> >> - return VH_RESULT_OK; >> + return VH_RESULT_REPLY; >> } >> >> static int >> @@ -1298,7 +1298,7 @@ vhost_user_set_log_base(struct virtio_net **pdev, struct VhostUserMsg *msg) >> >> msg->size = sizeof(msg->payload.u64); > > Maybe we need to set size to zero? This message should not have > "Slave payload" according to docs and QEMU does not check it. I agree with the fix, but it's here since the beginning, not related to this series. I will add it at the beginning of the series though. I think the spec could also be updated, to clarify what payload is expected when VHOST_USER_PROTOCOL_F_LOG_SHMFD is negotiated. > >> >> - return VH_RESULT_OK; >> + return VH_RESULT_REPLY; >> } >> >> static int vhost_user_set_log_fd(struct virtio_net **pdev __rte_unused, >>