[dpdk-dev] vhost/crypto: fix condition check

Message ID 20180427140608.56661-1-roy.fan.zhang@intel.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Fan Zhang April 27, 2018, 2:06 p.m. UTC
  Fixes: 3bb595ecd682 ("vhost/crypto: add request handler")

This patch fix final condition check while moving virtqueue
descriptors.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 lib/librte_vhost/vhost_crypto.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Maxime Coquelin April 27, 2018, 2:21 p.m. UTC | #1
On 04/27/2018 04:06 PM, Fan Zhang wrote:
> Fixes: 3bb595ecd682 ("vhost/crypto: add request handler")
> 
> This patch fix final condition check while moving virtqueue
> descriptors.
> 
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
>   lib/librte_vhost/vhost_crypto.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime
  
Thomas Monjalon April 27, 2018, 5:43 p.m. UTC | #2
27/04/2018 16:21, Maxime Coquelin:
> 
> On 04/27/2018 04:06 PM, Fan Zhang wrote:
> > Fixes: 3bb595ecd682 ("vhost/crypto: add request handler")
> > 
> > This patch fix final condition check while moving virtqueue
> > descriptors.
> > 
> > Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> > ---
> >   lib/librte_vhost/vhost_crypto.c | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> 
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Applied as a hot fix for RC1, thanks
  

Patch

diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c
index c38eb3bb5..4126c3bc1 100644
--- a/lib/librte_vhost/vhost_crypto.c
+++ b/lib/librte_vhost/vhost_crypto.c
@@ -506,7 +506,7 @@  move_desc(struct vring_desc *head, struct vring_desc **cur_desc,
 		left -= desc->len;
 	}
 
-	if (unlikely(left < 0)) {
+	if (unlikely(left > 0)) {
 		VC_LOG_ERR("Incorrect virtio descriptor");
 		return -1;
 	}
@@ -553,7 +553,7 @@  copy_data(void *dst_data, struct vring_desc *head, struct rte_vhost_memory *mem,
 		left -= to_copy;
 	}
 
-	if (unlikely(left < 0)) {
+	if (unlikely(left > 0)) {
 		VC_LOG_ERR("Incorrect virtio descriptor");
 		return -1;
 	}