[1/3] test/test_ipsec: compilation fix for GCC-12
Checks
Commit Message
GCC-12 raises following warning:
p/test/dpdk-test.p/test_ipsec.c.o -c ../app/test/test_ipsec.c
In file included from ../lib/eal/x86/include/rte_atomic.h:15,
from ../lib/eal/include/generic/rte_pause.h:19,
from ../lib/eal/x86/include/rte_pause.h:12,
from ../lib/eal/include/generic/rte_spinlock.h:25,
from ../lib/eal/x86/include/rte_spinlock.h:12,
from ../lib/mempool/rte_mempool.h:43,
from ../lib/mbuf/rte_mbuf.h:38,
from ../app/test/test_ipsec.c:9:
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] = {
Restrict copy to minimum size.
Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com>
---
app/test/test_ipsec.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
> GCC-12 raises following warning:
>
> p/test/dpdk-test.p/test_ipsec.c.o -c ../app/test/test_ipsec.c
> In file included from ../lib/eal/x86/include/rte_atomic.h:15,
> from ../lib/eal/include/generic/rte_pause.h:19,
> from ../lib/eal/x86/include/rte_pause.h:12,
> from ../lib/eal/include/generic/rte_spinlock.h:25,
> from ../lib/eal/x86/include/rte_spinlock.h:12,
> from ../lib/mempool/rte_mempool.h:43,
> from ../lib/mbuf/rte_mbuf.h:38,
> from ../app/test/test_ipsec.c:9:
> 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] = {
>
> Restrict copy to minimum size.
>
> Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com>
> ---
Acked-by: Akhil Goyal <gakhil@marvell.com>
Series applied to dpdk-next-crypto
Thanks
@@ -614,7 +614,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));