[v2] crypto/virtio: fix iv offset

Message ID 20190405160424.39320-1-roy.fan.zhang@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers
Series [v2] crypto/virtio: fix iv offset |

Checks

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

Commit Message

Fan Zhang April 5, 2019, 4:04 p.m. UTC
  This patch fixes the incorrect iv offset calculation.

Fixes: b063e843fa03 ("crypto/virtio: fix IV physical address")
Cc: stable@dpdk.org

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
v2:
  fixed a typo

 drivers/crypto/virtio/virtio_rxtx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Ananyev, Konstantin April 6, 2019, 12:37 p.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Fan Zhang
> Sent: Friday, April 5, 2019 5:04 PM
> To: dev@dpdk.org
> Cc: akhil.goyal@nxp.com; Zhang, Roy Fan <roy.fan.zhang@intel.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH v2] crypto/virtio: fix iv offset
> 
> This patch fixes the incorrect iv offset calculation.
> 
> Fixes: b063e843fa03 ("crypto/virtio: fix IV physical address")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
> v2:
>   fixed a typo
> 
>  drivers/crypto/virtio/virtio_rxtx.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/crypto/virtio/virtio_rxtx.c b/drivers/crypto/virtio/virtio_rxtx.c
> index e32a1ecd6..e9a63cb5a 100644
> --- a/drivers/crypto/virtio/virtio_rxtx.c
> +++ b/drivers/crypto/virtio/virtio_rxtx.c
> @@ -203,8 +203,8 @@ virtqueue_crypto_sym_enqueue_xmit(
>  	uint16_t req_data_len = sizeof(struct virtio_crypto_op_data_req);
>  	uint32_t indirect_vring_addr_offset = req_data_len +
>  		sizeof(struct virtio_crypto_inhdr);
> -	uint32_t indirect_iv_addr_offset = indirect_vring_addr_offset +
> -			sizeof(struct vring_desc) * NUM_ENTRY_VIRTIO_CRYPTO_OP;
> +	uint32_t indirect_iv_addr_offset =
> +			offsetof(struct virtio_crypto_op_cookie, iv);
>  	struct rte_crypto_sym_op *sym_op = cop->sym;
>  	struct virtio_crypto_session *session =
>  		(struct virtio_crypto_session *)get_sym_session_private_data(
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.14.5
  
Maxime Coquelin April 17, 2019, 7:14 a.m. UTC | #2
On 4/5/19 6:04 PM, Fan Zhang wrote:
> This patch fixes the incorrect iv offset calculation.
> 
> Fixes: b063e843fa03 ("crypto/virtio: fix IV physical address")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
> v2:
>    fixed a typo
> 
>   drivers/crypto/virtio/virtio_rxtx.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)

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

Thanks,
Maxime
  
Maxime Coquelin April 17, 2019, 7:57 a.m. UTC | #3
On 4/5/19 6:04 PM, Fan Zhang wrote:
> This patch fixes the incorrect iv offset calculation.
> 
> Fixes: b063e843fa03 ("crypto/virtio: fix IV physical address")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
> v2:
>    fixed a typo
> 
>   drivers/crypto/virtio/virtio_rxtx.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 

Applied to dpdk-next-virtio/master.

Thanks,
Maxime
  

Patch

diff --git a/drivers/crypto/virtio/virtio_rxtx.c b/drivers/crypto/virtio/virtio_rxtx.c
index e32a1ecd6..e9a63cb5a 100644
--- a/drivers/crypto/virtio/virtio_rxtx.c
+++ b/drivers/crypto/virtio/virtio_rxtx.c
@@ -203,8 +203,8 @@  virtqueue_crypto_sym_enqueue_xmit(
 	uint16_t req_data_len = sizeof(struct virtio_crypto_op_data_req);
 	uint32_t indirect_vring_addr_offset = req_data_len +
 		sizeof(struct virtio_crypto_inhdr);
-	uint32_t indirect_iv_addr_offset = indirect_vring_addr_offset +
-			sizeof(struct vring_desc) * NUM_ENTRY_VIRTIO_CRYPTO_OP;
+	uint32_t indirect_iv_addr_offset =
+			offsetof(struct virtio_crypto_op_cookie, iv);
 	struct rte_crypto_sym_op *sym_op = cop->sym;
 	struct virtio_crypto_session *session =
 		(struct virtio_crypto_session *)get_sym_session_private_data(