[dpdk-stable] [PATCH] test/event_crypto: fix event crypto metadata write

Gujjar, Abhinandan S abhinandan.gujjar at intel.com
Sun Oct 3 11:46:54 CEST 2021


Acked-by: Abhinandan Gujjar <Abhinandan.gujjar at intel.com>

> -----Original Message-----
> From: Shijith Thotton <sthotton at marvell.com>
> Sent: Monday, September 27, 2021 8:59 PM
> To: dev at dpdk.org
> Cc: stable at dpdk.org; Shijith Thotton <sthotton at marvell.com>;
> jerinj at marvell.com; anoobj at marvell.com; Gujjar, Abhinandan S
> <abhinandan.gujjar at 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 <sthotton at 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



More information about the stable mailing list