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