Hi maintainer, Do these warnings need to be resolved? The usage of this code is also supported by the standard C language, and other drivers also have this usage; At the same time, why does the compilation still have [- Wvla] warning when adding cflags += no_wvla_cflag in zxdh meson.build Thanks I will submit a new version that includes Enable assertions failed、 Enable address sanitizer for undefined checks、Extra memset and cast, and [RFC,0/5] net/zxdh: possible changes you submited. and sorry for not modifying the cover scan and PVS issue in a timely manner. I will make the necessary changes later > ✘ Enable extra warnings (edit meson.build) for > -Wvla, -Wformat-truncation, -Waddress-of-packed-member > >[1600/3244] Compiling C object drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_queue.c.o >.../drivers/net/zxdh/zxdh_queue.c: In function ‘zxdh_dev_rx_queue_setup_finish’: >.../drivers/net/zxdh/zxdh_queue.c:357:24: warning: ISO C90 forbids variable length array ‘new_pkts’ [-Wvla] > 357 | struct rte_mbuf *new_pkts[free_cnt]; > | ^~~~~~~~ >[1603/3244] Compiling C object drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_rxtx.c.o >.../drivers/net/zxdh/zxdh_rxtx.c: In function ‘zxdh_recv_pkts_packed’: >.../drivers/net/zxdh/zxdh_rxtx.c:903:24: warning: ISO C90 forbids variable length array ‘new_pkts’ [-Wvla] > 903 | struct rte_mbuf *new_pkts[free_cnt]; > | ^~~~~~~~ >[1616/3244] Compiling C object drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_ethdev_ops.c.o >.../drivers/net/zxdh/zxdh_ethdev_ops.c: In function ‘zxdh_dev_xstats_get_names’: >.../drivers/net/zxdh/zxdh_ethdev_ops.c:1983:26: warning: ‘%s’ directive output may be truncated writing up to 1359 bytes into a region of size 64 [-Wformat-truncation=] > 1983 | "%s", zxdh_np_stat_strings[i].name); > | ^~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:1982:25: note: ‘snprintf’ output between 1 and 1360 bytes into a destination of size 64 > 1982 | snprintf(xstats_names[count].name, sizeof(xstats_names[count].name), > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1983 | "%s", zxdh_np_stat_strings[i].name); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:1989:34: warning: ‘%s’ directive output may be truncated writing up to 2991 bytes into a region of size 64 [-Wformat-truncation=] > 1989 | "%s", zxdh_mac_stat_strings[i].name); > | ^~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:1988:33: note: ‘snprintf’ output between 1 and 2992 bytes into a destination of size 64 > 1988 | snprintf(xstats_names[count].name, sizeof(xstats_names[count].name), > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1989 | "%s", zxdh_mac_stat_strings[i].name); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:1994:34: warning: ‘%s’ directive output may be truncated writing up to 271 bytes into a region of size 64 [-Wformat-truncation=] > 1994 | "%s", zxdh_mac_bytes_strings[i].name); > | ^~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:1993:33: note: ‘snprintf’ output between 1 and 272 bytes into a destination of size 64 > 1993 | snprintf(xstats_names[count].name, sizeof(xstats_names[count].name), > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1994 | "%s", zxdh_mac_bytes_strings[i].name); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:2000:26: warning: ‘%s’ directive output may be truncated writing up to 339 bytes into a region of size 64 [-Wformat-truncation=] > 2000 | "%s", zxdh_vqm_stat_strings[i].name); > | ^~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:1999:25: note: ‘snprintf’ output between 1 and 340 bytes into a destination of size 64 > 1999 | snprintf(xstats_names[count].name, sizeof(xstats_names[count].name), > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 2000 | "%s", zxdh_vqm_stat_strings[i].name); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:2010:41: warning: ‘%s’ directive output may be truncated writing up to 1359 bytes into a region of size between 54 and 58 [-Wformat-truncation=] > 2010 | "rx_q%u_%s", i, zxdh_rxq_stat_strings[t].name); > | ^~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:2009:33: note: ‘snprintf’ output between 7 and 1370 bytes into a destination of size 64 > 2009 | snprintf(xstats_names[count].name, sizeof(xstats_names[count].name), > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 2010 | "rx_q%u_%s", i, zxdh_rxq_stat_strings[t].name); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:2022:41: warning: ‘%s’ directive output may be truncated writing up to 1291 bytes into a region of size between 54 and 58 [-Wformat-truncation=] > 2022 | "tx_q%u_%s", i, zxdh_txq_stat_strings[t].name); > | ^~ >.../drivers/net/zxdh/zxdh_ethdev_ops.c:2021:33: note: ‘snprintf’ output between 7 and 1302 bytes into a destination of size 64 > 2021 | snprintf(xstats_names[count].name, sizeof(xstats_names[count].name), > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 2022 | "tx_q%u_%s", i, zxdh_txq_stat_strings[t].name); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~