[dpdk-dev] vhost/crypto: fix desc moving for copy mode

Message ID 20180411100907.39057-1-roy.fan.zhang@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers

Checks

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

Commit Message

Fan Zhang April 11, 2018, 10:09 a.m. UTC
  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@intel.com>
---
 lib/librte_vhost/vhost_crypto.c | 9 +++++++++
 1 file changed, 9 insertions(+)
  

Comments

Maxime Coquelin April 11, 2018, 2:38 p.m. UTC | #1
On 04/11/2018 12:09 PM, Fan Zhang wrote:
> 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@intel.com>
> ---
>   lib/librte_vhost/vhost_crypto.c | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 

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

Thanks,
Maxime
  
Maxime Coquelin April 11, 2018, 2:41 p.m. UTC | #2
On 04/11/2018 12:09 PM, Fan Zhang wrote:
> 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@intel.com>
> ---
>   lib/librte_vhost/vhost_crypto.c | 9 +++++++++
>   1 file changed, 9 insertions(+)

Applied to dpdk-next-virtio/master

thanks,
Maxime
  
Ferruh Yigit April 11, 2018, 5:36 p.m. UTC | #3
On 4/11/2018 3:41 PM, Maxime Coquelin wrote:
> 
> 
> On 04/11/2018 12:09 PM, Fan Zhang wrote:
>> 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@intel.com>
>> ---
>>   lib/librte_vhost/vhost_crypto.c | 9 +++++++++
>>   1 file changed, 9 insertions(+)
> 
> Applied to dpdk-next-virtio/master

Squashed into relevant commit in next-net, thanks.
  

Patch

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;