From: Ferruh Yigit Date: Mon, 17 May 2021 15:57:39 +0000 (+0100) Subject: test/table: fix build with GCC 11 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=33c12ac5ba5f09727c6de807e71403dd260a7bbc;p=dpdk.git test/table: fix build with GCC 11 Build error: ../app/test/test_table_tables.c: In function ‘test_table_stub’: ../app/test/test_table_tables.c:31:9: warning: ‘memset’ offset [0, 31] is out of the bounds [0, 0] [-Warray-bounds] memset((uint8_t *)mbuf + sizeof(struct rte_mbuf) + 32, 0, 32); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../app/test/test_table_tables.c:151:25: note: in expansion of macro ‘PREPARE_PACKET’ 151 | PREPARE_PACKET(mbufs[i], 0xadadadad); | ^~~~~~~~~~~~~~ 'key' points to mbuf header + 32 bytes, and memset clears next 32 bytes of 'key', so overall there needs to be 64 bytes after mbuf header. Adding a mbuf size check before memset. The original code has an assumption that mbuf data buffer follows mbuf header, this patch accepts same assumption. Bugzilla ID: 677 Fixes: 5205954791cb ("app/test: packet framework unit tests") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit --- diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c index 1aa269f95d..4ff6ab16aa 100644 --- a/app/test/test_table_tables.c +++ b/app/test/test_table_tables.c @@ -28,7 +28,8 @@ table_test table_tests[] = { APP_METADATA_OFFSET(0)); \ key = RTE_MBUF_METADATA_UINT8_PTR(mbuf, \ APP_METADATA_OFFSET(32)); \ - memset(key, 0, 32); \ + if (mbuf->priv_size + mbuf->buf_len >= 64) \ + memset(key, 0, 32); \ k32 = (uint32_t *) key; \ k32[0] = (value); \ *signature = pipeline_test_hash(key, NULL, 0, 0); \