From fdebff6b5aadd85e417a10c234b4159d1d0620f5 Mon Sep 17 00:00:00 2001 From: Amit Prakash Shukla Date: Thu, 4 Aug 2022 19:10:53 +0530 Subject: [PATCH] test/ipsec: fix build with GCC 12 [ upstream commit 250cbb8d5dd2ffcb4c8a871332f9ec8e5a59242f ] 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: 05fe65eb66b2 ("test/ipsec: introduce functional test") Signed-off-by: Amit Prakash Shukla Acked-by: Akhil Goyal --- app/test/test_ipsec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c index 6d5431843f..584c132f37 100644 --- a/app/test/test_ipsec.c +++ b/app/test/test_ipsec.c @@ -618,7 +618,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)); -- 2.23.0