[dpdk-dev] [PATCH v2 2/2] app/crypto-perf: fix memcpy source

Andy Green andy at warmcat.com
Wed May 16 14:44:58 CEST 2018



On 05/16/2018 08:28 PM, Jerin Jacob wrote:
> Since arm64 was using plain memcpy for rte_memcpy, gcc 8.1, could
> detect size was more than source address range. In this case, the
> source was wrong.
> 
> /export/dpdk.org/test/test/test_cryptodev.c: In function
> 'test_multi_session_random_usage':
> /export/dpdk.org/build/include/rte_memcpy_64.h:364:29: error: 'memcpy'
> forming offset [113, 184] is out of the bounds [0, 112] of object
> 'testsuite_params' with type 'struct crypto_testsuite_params'
> [-Werror=array-bounds]
>   #define rte_memcpy(d, s, n) memcpy((d), (s), (n))
>                               ^~~~~~~~~~~~~~~~~~~~~
> /export/dpdk.org/test/test/test_cryptodev.c:6618:3: note: in expansion
> of macro 'rte_memcpy'
>     rte_memcpy(&ut_paramz[i].ut_params, &testsuite_params,
>     ^~~~~~~~~~
> /export/dpdk.org/test/test/test_cryptodev.c:140:39: note:
> 'testsuite_params' declared here
>   static struct crypto_testsuite_params testsuite_params = { NULL };
> 
> Fixes: ffbe3be0d4b5 ("app/test: add libcrypto")
> 
> Cc: pablo.de.lara.guarch at intel.com
> Cc: declan.doherty at intel.com
> Cc: andy at warmcat.com
> Cc: stable at dpdk.org
> 
> Suggested-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
> Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
> ---
> v2:
> -  Addressed http://dpdk.org/dev/patchwork/patch/40086/ comments
> ---
>   test/test/test_cryptodev.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/test/test/test_cryptodev.c b/test/test/test_cryptodev.c
> index 680082f2b..940e3378a 100644
> --- a/test/test/test_cryptodev.c
> +++ b/test/test/test_cryptodev.c
> @@ -6615,7 +6615,7 @@ test_multi_session_random_usage(void)
>   		sessions[i] = rte_cryptodev_sym_session_create(
>   				ts_params->session_mpool);
>   
> -		rte_memcpy(&ut_paramz[i].ut_params, &testsuite_params,
> +		rte_memcpy(&ut_paramz[i].ut_params, &unittest_params,
>   				sizeof(struct crypto_unittest_params));
>   
>   		test_AES_CBC_HMAC_SHA512_decrypt_create_session_params(
> 

No comment on the patch, but FYI gcc got updated to 8.1.1 on F28.

-Andy


More information about the dev mailing list