Test-Label: intel-Functional Test-Status: SUCCESS _Functional PASS_ DPDK git repo: dpdk commit cbfd2eb334ae6cec3c95be46c02917f821fb251f Author: David Marchand Date: Tue Sep 9 08:59:20 2025 +0200 net/xsc: fix Rx queue cleanup Debian 12 gcc complains about a use after free in this cleanup section. [7/11] Compiling C object drivers/libtmp_rte_net_xsc.a.p/net_xsc_xsc_rx.c.o In function 'xsc_rss_qp_create', inlined from 'xsc_rxq_rss_obj_new' at ../drivers/net/xsc/xsc_rx.c:565:8: ../drivers/net/xsc/xsc_rx.c:501:9: warning: pointer 'req' may be used after 'free' [-Wuse-after-free] 501 | free(req); | ^~~~~~~~~ ../drivers/net/xsc/xsc_rx.c:501:9: note: call to 'free' here Indeed, req may be free'd twice, as an error in the cleanup loop may jump back to the set_qp_fail label. Instead, skip the erroneous rxq and don't touch errno since all the code jumping to set_qp_fail already sets it. Fixes: 3991c890fb4c ("net/xsc: optimize RSS queue creation") Signed-off-by: David Marchand Acked-by: Renyong Wan Smoke-Testing Summary : 31 Case Done, 31 Successful, 0 Failures OS : Ubuntu 22.04.2 LTS Kernel : 5.15.0-60-generic GCC : 11.3.0-1ubuntu1~22.04 NIC : Ethernet Controller XL710 for 40GbE QSFP+ Target : x86_64-native-linuxapp-gcc Test result details: +-----------------+---------------------------------------------------+-------+ | suite | case | status| +-----------------+---------------------------------------------------+-------+ | checksum_offload| test_checksum_offload_with_vlan | passed| | checksum_offload| test_do_not_insert_checksum_on_the_transmit_packet| passed| | checksum_offload| test_hardware_checksum_check_ip_rx | passed| | checksum_offload| test_hardware_checksum_check_ip_tx | passed| | checksum_offload| test_hardware_checksum_check_l4_rx | passed| | checksum_offload| test_insert_checksum_on_the_transmit_packet | passed| | checksum_offload| test_rx_checksum_valid_flags | passed| | checksum_offload| test_hardware_checksum_check_l4_tx | n/a | | dual_vlan | test_dual_vlan_priority_rxtx | passed| | dual_vlan | test_vlan_filter_config | passed| | dual_vlan | test_vlan_filter_table | passed| | dual_vlan | test_vlan_insert_config | passed| | dual_vlan | test_vlan_random_test | passed| | dual_vlan | test_vlan_strip_config | passed| | dual_vlan | test_vlan_synthetic_test | passed| | dual_vlan | test_vlan_tpid_config | passed| | dual_vlan | test_vlan_stripq_config | n/a | | jumboframes | test_jumboframes_bigger_jumbo | passed| | jumboframes | test_jumboframes_jumbo_jumbo | passed| | jumboframes | test_jumboframes_jumbo_nojumbo | passed| | jumboframes | test_jumboframes_normal_jumbo | passed| | jumboframes | test_jumboframes_normal_nojumbo | passed| | rxtx_offload | test_rxoffload_port_all | passed| | rxtx_offload | test_rxoffload_port_cmdline | passed| | rxtx_offload | test_txoffload_port | passed| | rxtx_offload | test_txoffload_port_all | passed| | rxtx_offload | test_txoffload_port_checksum | passed| | rxtx_offload | test_txoffload_port_cmdline | passed| | rxtx_offload | test_rxoffload_queue | n/a | | rxtx_offload | test_txoffload_port_multi_segs | n/a | | rxtx_offload | test_txoffload_queue | n/a | +-----------------+---------------------------------------------------+-------+ DPDK STV team