|SUCCESS|dpdk|b99a3b8aa9| Intel-Testing
sys_stv at intel.com
sys_stv at intel.com
Thu Feb 5 21:18:05 CET 2026
Test-Label: intel-Testing
Test-Status: SUCCESS
_Testing PASS_
DPDK git repo: dpdk
commit 44084fcab48124217936b55d048e7209f106754f
Author: Yehor Malikov <Yehor.Malikov at solidigm.com>
Date: Thu Feb 5 19:35:29 2026 +0100
vhost: fix use-after-free in fdset during shutdown
The fdset_event_dispatch thread runs in a loop checking the destroy
flag after each epoll_wait iteration. During process exit,
rte_eal_cleanup() releases resources (like hugepages via
rte_eal_memory_detach) while the fdset thread is still running.
This race condition can lead to use-after-free errors if the thread
accesses memory that has been freed.
Standard destructors (RTE_FINI) run after rte_eal_cleanup() returns,
which is too late to prevent this race.
To address this, introduce a mechanism to register cleanup callbacks
that run within rte_eal_cleanup() before memory is detached:
1. Add rte_eal_cleanup_register() API to EAL.
2. Implement fdset_deinit() in vhost to synchronously stop the
dispatch thread, close the epoll fd, and release resources.
3. Register the vhost cleanup handler during initialization to
ensure proper shutdown ordering via EAL.
Fixes: e68a6feaa3b3 ("vhost: improve fdset initialization")
Signed-off-by: Yehor Malikov <Yehor.Malikov at solidigm.com>
Testing Summary : 18 Case Done, 18 Successful, 0 Failures
TestPlan:
pf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/pf_smoke_test_plan.rst
vf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/vf_smoke_test_plan.rst
virtio_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/virtio_smoke_test_plan.rst
TestSuite:
pf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_pf_smoke.py
vf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_vf_smoke.py
virtio_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_virtio_smoke.py
OS : Ubuntu 24.04.3 LTS
Kernel : 6.8.0-71-generic
GCC : 13.3.0-6ubuntu2~24.04
NIC : Ethernet Controller XL710 for 40GbE QSFP+
Target : x86_64-native-linuxapp-gcc
Test result details:
+-------------+---------------------------+-------+
| suite | case | status|
+-------------+---------------------------+-------+
| asan_smoke | test_rxtx_with_ASan_enable| passed|
| pf_smoke | test_pf_jumbo_frames | passed|
| pf_smoke | test_pf_rss | passed|
| pf_smoke | test_pf_tx_rx_queue | passed|
| vf_smoke | test_vf_rss | passed|
| vf_smoke | test_vf_tx_rx_queue | passed|
| vf_smoke | test_vf_jumbo_frames | n/a |
| virtio_smoke| test_virtio_loopback | passed|
| virtio_smoke| test_virtio_pvp | passed|
+-------------+---------------------------+-------+
OS : Ubuntu 24.04.3 LTS
Kernel : 6.8.0-87-generic
GCC : 13.3.0-6ubuntu2~24.04
NIC : Ethernet Controller E810-C for SFP
Target : x86_64-native-linuxapp-gcc
Test result details:
+-------------+---------------------------+-------+
| suite | case | status|
+-------------+---------------------------+-------+
| asan_smoke | test_rxtx_with_ASan_enable| passed|
| pf_smoke | test_pf_jumbo_frames | passed|
| pf_smoke | test_pf_rss | passed|
| pf_smoke | test_pf_tx_rx_queue | passed|
| vf_smoke | test_vf_jumbo_frames | passed|
| vf_smoke | test_vf_rss | passed|
| vf_smoke | test_vf_tx_rx_queue | passed|
| virtio_smoke| test_virtio_loopback | passed|
| virtio_smoke| test_virtio_pvp | passed|
+-------------+---------------------------+-------+
DPDK STV team
More information about the test-report
mailing list