Acked-by: Abhinandan Gujjar <abhinandan.guj...@intel.com>

> -----Original Message-----
> From: Shijith Thotton <sthot...@marvell.com>
> Sent: Monday, September 27, 2021 8:59 PM
> To: dev@dpdk.org
> Cc: sta...@dpdk.org; Shijith Thotton <sthot...@marvell.com>;
> jer...@marvell.com; ano...@marvell.com; Gujjar, Abhinandan S
> <abhinandan.guj...@intel.com>
> Subject: [PATCH] test/event_crypto: fix event crypto metadata write
> 
> Using memcpy to update event crypto metadata fields (request/response)
> will result in one overwriting the other. To avoid this, fields of each 
> structure
> should be updated one by one.
> 
> Fixes: 3c2c535ecfc0 ("test: add event crypto adapter auto-test")
> 
> Signed-off-by: Shijith Thotton <sthot...@marvell.com>
> ---
>  app/test/test_event_crypto_adapter.c | 21 +++++++++------------
>  1 file changed, 9 insertions(+), 12 deletions(-)
> 
> diff --git a/app/test/test_event_crypto_adapter.c
> b/app/test/test_event_crypto_adapter.c
> index 279aa3abf5..3d7e9fb93c 100644
> --- a/app/test/test_event_crypto_adapter.c
> +++ b/app/test/test_event_crypto_adapter.c
> @@ -212,10 +212,10 @@ test_op_forward_mode(uint8_t session_less)
> 
>               if (cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_SESSION_PRIVATE_DATA) {
>                       /* Fill in private user data information */
> -                     rte_memcpy(&m_data.response_info,
> &response_info,
> -                             sizeof(response_info));
> -                     rte_memcpy(&m_data.request_info, &request_info,
> -                             sizeof(request_info));
> +                     m_data.request_info.cdev_id =
> request_info.cdev_id;
> +                     m_data.request_info.queue_pair_id =
> +                             request_info.queue_pair_id;
> +                     m_data.response_info.event =
> response_info.event;
>                       rte_cryptodev_sym_session_set_user_data(sess,
>                                               &m_data, sizeof(m_data));
>               }
> @@ -231,10 +231,9 @@ test_op_forward_mode(uint8_t session_less)
>               uint32_t len = IV_OFFSET + MAXIMUM_IV_LENGTH;
>               op->private_data_offset = len;
>               /* Fill in private data information */
> -             rte_memcpy(&m_data.response_info, &response_info,
> -                        sizeof(response_info));
> -             rte_memcpy(&m_data.request_info, &request_info,
> -                        sizeof(request_info));
> +             m_data.request_info.cdev_id = request_info.cdev_id;
> +             m_data.request_info.queue_pair_id =
> request_info.queue_pair_id;
> +             m_data.response_info.event = response_info.event;
>               rte_memcpy((uint8_t *)op + len, &m_data, sizeof(m_data));
>       }
> 
> @@ -405,8 +404,7 @@ test_op_new_mode(uint8_t session_less)
> 
>               if (cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_SESSION_PRIVATE_DATA) {
>                       /* Fill in private user data information */
> -                     rte_memcpy(&m_data.response_info,
> &response_info,
> -                                sizeof(m_data));
> +                     m_data.response_info.event =
> response_info.event;
>                       rte_cryptodev_sym_session_set_user_data(sess,
>                                               &m_data, sizeof(m_data));
>               }
> @@ -425,8 +423,7 @@ test_op_new_mode(uint8_t session_less)
>               uint32_t len = IV_OFFSET + MAXIMUM_IV_LENGTH;
>               op->private_data_offset = len;
>               /* Fill in private data information */
> -             rte_memcpy(&m_data.response_info, &response_info,
> -                        sizeof(m_data));
> +             m_data.response_info.event = response_info.event;
>               rte_memcpy((uint8_t *)op + len, &m_data, sizeof(m_data));
>       }
> 
> --
> 2.25.1

Reply via email to