Building with latest gcc-16 and DPDK shows these new warnings.
With current annotations on rte_malloc, compiler is now tracking sizes.

../drivers/net/intel/e1000/igb_ethdev.c: In function 
‘eth_igb_add_del_flex_filter’:
../drivers/net/intel/e1000/igb_ethdev.c:4280:50: warning: writing 64 bytes into 
a region of size 24 [-Wstringop-overflow=]
 4280 |                 flex_filter->filter_info.mask[i] = mask;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
../drivers/net/intel/e1000/igb_ethdev.c:4265:23: note: at offset 152 into 
destination object of size 176 allocated by ‘rte_zmalloc’
 4265 |         flex_filter = rte_zmalloc("e1000_flex_filter",
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4266 |                         sizeof(struct e1000_flex_filter), 0);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/intel/e1000/igb_ethdev.c:4280:50: warning: writing 64 bytes into 
a region of size 0 [-Wstringop-overflow=]
 4280 |                 flex_filter->filter_info.mask[i] = mask;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
../drivers/net/intel/e1000/igb_ethdev.c:4265:23: note: at offset 216 into 
destination object of size 176 allocated by ‘rte_zmalloc’
 4265 |         flex_filter = rte_zmalloc("e1000_flex_filter",
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4266 |                         sizeof(struct e1000_flex_filter), 0);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/intel/e1000/igb_ethdev.c:4280:50: warning: writing 64 bytes into 
a region of size 0 [-Wstringop-overflow=]
 4280 |                 flex_filter->filter_info.mask[i] = mask;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
../drivers/net/intel/e1000/igb_ethdev.c:4265:23: note: at offset 280 into 
destination object of size 176 allocated by ‘rte_zmalloc’
 4265 |         flex_filter = rte_zmalloc("e1000_flex_filter",
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4266 |                         sizeof(struct e1000_flex_filter), 0);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reply via email to