17/05/2021 17:57, Ferruh Yigit: > 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: sta...@dpdk.org > > Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com> > --- > Cc: cristian.dumitre...@intel.com > Cc: Kevin Traynor <ktray...@redhat.com> > > Not exactly clear why compiler complains about, compiler can't know the > bounds of the memory we try to memset here. > But adding a size check seems logic thing to do also fixes the compiler > warning.
Applied, thanks