[dpdk-dev] [PATCH] vhost/crypto: fix desc moving for copy mode
Fan Zhang
roy.fan.zhang at intel.com
Wed Apr 11 12:09:07 CEST 2018
Fixes: cd39f8e4fd2a ("vhost/crypto: add request handler")
This patch fixes the descriptor moving for copy mode by adding
the missing moving step after destination data parsing.
Signed-off-by: Fan Zhang <roy.fan.zhang at intel.com>
---
lib/librte_vhost/vhost_crypto.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c
index ab75db0b1..363a034cb 100644
--- a/lib/librte_vhost/vhost_crypto.c
+++ b/lib/librte_vhost/vhost_crypto.c
@@ -694,6 +694,10 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
case RTE_VHOST_CRYPTO_ZERO_COPY_DISABLE:
vc_req->wb_desc = desc;
vc_req->wb_len = cipher->para.dst_data_len;
+ if (unlikely(move_desc(head, &desc, vc_req->wb_len) < 0)) {
+ ret = VIRTIO_CRYPTO_ERR;
+ goto error_exit;
+ }
break;
default:
ret = VIRTIO_CRYPTO_BADMSG;
@@ -840,6 +844,11 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
op->sym->auth.digest.data = digest_addr;
op->sym->auth.digest.phys_addr = rte_pktmbuf_iova_offset(m_dst,
digest_offset);
+ if (unlikely(move_desc(head, &desc,
+ chain->para.hash_result_len) < 0)) {
+ ret = VIRTIO_CRYPTO_ERR;
+ goto error_exit;
+ }
break;
default:
ret = VIRTIO_CRYPTO_BADMSG;
--
2.13.6
More information about the dev
mailing list