|SUCCESS|dpdk-next-virtio|0810eba6c0| Intel-Testing
sys_stv at intel.com
sys_stv at intel.com
Fri Oct 16 01:43:01 CEST 2026
Test-Label: intel-Testing
Test-Status: SUCCESS
_Testing PASS_
DPDK git repo: dpdk-next-virtio
commit 0810eba6c0533425ba4d0c9550586602215babf9
Author: Pravin M Bathija <pravin.bathija at dell.com>
Date: Fri Jul 31 08:10:31 2026 +0000
vhost: tolerate file descriptor in REM_MEM_REG msg
The vhost-user specification (vhost-user.rst) states that no file
descriptors SHOULD be passed with VHOST_USER_REM_MEM_REG. However,
it also says: "For compatibility with existing incorrect
implementations, the back-end MAY accept messages with one file
descriptor. If a file descriptor is passed, the back-end MUST close
it without using it otherwise."
Some front-ends, notably libblkio, reuse the same message-building
helper for both ADD_MEM_REG and REM_MEM_REG and unconditionally attach
the mapping fd. The previous implementation rejected any
REM_MEM_REG carrying a file descriptor with the error:
expect 0 FDs for request VHOST_USER_REM_MEM_REG, received 1
This broke teardown and memory region hot-swap with these front-ends.
To reproduce, run any libblkio (v1.5.0) application using the
virtio-blk-vhost-user driver against a DPDK vhost back-end. The
connection is dropped during cleanup or whenever a memory region is
unmapped and remapped.
QEMU's libvhost-user reference back-end (vu_rem_mem_reg) already
tolerates zero or one fd in this message. Align DPDK's behavior
with both the specification's compatibility clause and the reference
implementation by accepting the message and closing any unexpected fd.
Tested with:
- QEMU VM bring-up with runtime add/remove memory regions via
QEMU monitor
- QEMU post-copy live migration between source and destination
- SPDK vhost-blk with libblkio (fio libblkio engine, write + md5
verify)
- libblkio alloc-mem-region and map-mem-region tests exercising
ADD_MEM_REG / REM_MEM_REG / ADD_MEM_REG cycles against SPDK
vhost-blk
Fixes: 1d730eea6a42 ("vhost: add memory region handlers")
Cc: stable at dpdk.org
Signed-off-by: Pravin M Bathija <pravin.bathija at dell.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.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.4 LTS
Kernel : 6.8.0-87-generic
GCC : 13.3.0-6ubuntu2~24.04.1
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|
+-------------+---------------------------+-------+
OS : Ubuntu 24.04.4 LTS
Kernel : 6.8.0-71-generic
GCC : 13.3.0-6ubuntu2~24.04.1
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|
+-------------+---------------------------+-------+
DPDK STV team
More information about the test-report
mailing list