test/ipsec: fix build with GCC 12

GCC-12 raises following warning:

In function '_mm_loadu_si128',
    inlined from 'rte_mov16' at
	../lib/eal/x86/include/rte_memcpy.h:507:9,
    inlined from 'rte_mov128' at
	../lib/eal/x86/include/rte_memcpy.h:549:2,
    inlined from 'rte_memcpy_generic' at
	../lib/eal/x86/include/rte_memcpy.h:732:4,
    inlined from 'rte_memcpy' at
	../lib/eal/x86/include/rte_memcpy.h:882:10,
    inlined from 'setup_test_string_tunneled' at
	../app/test/test_ipsec.c:617:3:
/usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/include/emmintrin.h:703:10: error:
    array subscript '__m128i_u[15]' is partly outside array bounds of
    'const uint8_t[255]' {aka 'const unsigned char[255]'}
    [-Werror=array-bounds]
  703 |   return *__P;
      |          ^~~~
../app/test/test_ipsec.c: In function 'setup_test_string_tunneled':
../app/test/test_ipsec.c:491:22: note: at offset 240 into object
     'esp_pad_bytes' of size 255
  491 | static const uint8_t esp_pad_bytes[IPSEC_MAX_PAD_SIZE] = {

This patch restrict the copy to minimum size.

Fixes: 05fe65eb66 ("test/ipsec: introduce functional test")
Cc: stable@dpdk.org

Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
This commit is contained in:
Amit Prakash Shukla 2022-08-04 19:10:53 +05:30 committed by Akhil Goyal
parent 66c0ad1f3d
commit 250cbb8d5d

View File

@ -629,7 +629,8 @@ setup_test_string_tunneled(struct rte_mempool *mpool, const char *string,
rte_memcpy(dst, string, len);
dst += len;
/* copy pad bytes */
rte_memcpy(dst, esp_pad_bytes, padlen);
rte_memcpy(dst, esp_pad_bytes, RTE_MIN(padlen,
sizeof(esp_pad_bytes)));
dst += padlen;
/* copy ESP tail header */
rte_memcpy(dst, &espt, sizeof(espt));