On 7/2/26 21:24, Stefan Hajnoczi wrote:
On Tue, Jun 30, 2026 at 6:33 AM Cédric Le Goater <[email protected]> wrote:
The following changes since commit 30e8a06b64aa58a3990ba39cb5d09531e7d265e0:
Merge tag 'net-pull-request' of https://github.com/jasowang/qemu into
staging (2026-06-29 17:41:42 +0200)
are available in the Git repository at:
https://github.com/legoater/qemu/ tags/pull-vfio-20260630
for you to fetch changes up to afe79bb7bf7fe16f418d6e10522946e13da04384:
vfio/listener: Fix translated_addr for non-identity-mapped RAM sections
(2026-06-30 05:35:56 +0200)
Hi Cedric,
This pull request breaks the migration test in the
ubuntu-24.04-s390x-all-system CI job:
https://gitlab.com/qemu-project/qemu/-/jobs/15157007316#L3078
Oh. Sorry about that. I didn't see that when I ran CI.
Thanks,
C.
RUST_BACKTRACE=1
PYTHON=/home/gitlab-runner/builds/P3MFS4LUf/0/qemu-project/qemu/build/pyvenv/bin/python3
QTEST_QEMU_IMG=./qemu-img MESON_TEST_ITERATION=1
UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1
QTEST_QEMU_VNC_BINARY=./tools/qemu-vnc/qemu-vnc MALLOC_PERTURB_=226
MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1
G_TEST_DBUS_DAEMON=/home/gitlab-runner/builds/P3MFS4LUf/0/qemu-project/qemu/tests/dbus-daemon.sh
QTEST_QEMU_BINARY=./qemu-system-s390x
ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1
QTEST_QEMU_STORAGE_DAEMON_BINARY=./storage-daemon/qemu-storage-daemon
/home/gitlab-runner/builds/P3MFS4LUf/0/qemu-project/qemu/build/tests/qtest/migration-test
--tap -k --full
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
stderr:
Memory content inconsistency at 48b7000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
Memory content inconsistency at 48b8000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
Memory content inconsistency at 48b9000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
Memory content inconsistency at 48ba000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
Memory content inconsistency at 48bb000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
Memory content inconsistency at 48bc000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
Memory content inconsistency at 48bd000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
Memory content inconsistency at 48be000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
Memory content inconsistency at 48bf000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
Memory content inconsistency at 48c0000 first_byte = b5 last_byte = b4
current = b5 hit_edge = 1
and in another 6975 pages**
ERROR:../tests/qtest/migration/framework.c:190:check_guests_ram:
assertion failed: (bad == 0)
(test program exited with status code -6)
Please take a look and resend the pull request with a fix.
Thanks,
Stefan
----------------------------------------------------------------
vfio queue:
* Fixes ROM read issues in vfio/pci: information leak, error
propagation, and uninitialized state
* Validates VERSION replies in vfio-user and updates the spec
for DMA access mode bits
* Merges .dma_map_file() into .dma_map() in the iommufd backend
* Reworks switchover-ack to be re-usable and implements the
VFIO_PRECOPY_INFO_REINIT feature for additional pre-copy
iterations before switchover
* Adds ATS support for passthrough devices via iommufd
* Fixes translated_addr for non-identity-mapped RAM sections in
the VFIO listener
----------------------------------------------------------------
Avihai Horon (14):
migration: Propagate errors in migration_completion_precopy()
migration/ram: Use migration_bitmap_sync_precopy() for postcopy discard
migration: Run final save_query_pending at switchover
migration: Log the approver in qemu_loadvm_approve_switchover()
migration: Replace switchover_ack_needed SaveVMHandler
migration: Rename switchover-ack code to legacy
migration: Make switchover-ack re-usable
migration: Fail migration if switchover-ack is requested after
switchover decision
vfio/migration: Extract VFIO_MIG_FLAG_DEV_INIT_DATA_SENT sending to
helper
vfio/migration: Add Error ** parameter to vfio_migration_init()
vfio/migration: Add new switchover-ack mechanism
vfio/migration: Implement VFIO_PRECOPY_INFO_REINIT feature
vfio/migration: Check VFIO_PRECOPY_INFO_REINIT during switchover
migration: Enable new switchover-ack
Cédric Le Goater (3):
vfio/pci: Fix information leak in vfio_rom_read()
vfio/iommufd: Merge .dma_map_file() into .dma_map()
vfio/listener: Fix translated_addr for non-identity-mapped RAM sections
GuoHan Zhao (1):
vfio-user: validate VERSION replies
Mario Casquero (2):
vfio/pci: Initialize rom_read_failed in vfio_pci_load_rom()
vfio/pci: Propagate errors in vfio_pci_load_rom() using Error API
Mattias Nissler (1):
docs: Update vfio-user spec to describe DMA access mode bits
Nathan Chen (2):
iommufd: Introduce handler for device ATS support
vfio/pci: Add ats property
docs/devel/migration/vfio.rst | 17 +++-
docs/interop/vfio-user.rst | 82 +++++++++------
qapi/migration.json | 14 ++-
hw/vfio/pci.h | 1 +
hw/vfio/vfio-migration-internal.h | 2 +
include/hw/vfio/vfio-container.h | 15 ---
include/migration/client-options.h | 1 +
include/migration/misc.h | 2 +
include/migration/register.h | 56 +++++-----
include/system/host_iommu_device.h | 9 ++
migration/migration.h | 34 ++++++-
migration/savevm.h | 9 +-
backends/iommufd.c | 8 ++
hw/core/machine.c | 1 +
hw/s390x/s390-stattrib.c | 2 +-
hw/vfio-user/proxy.c | 21 ++--
hw/vfio/container.c | 38 -------
hw/vfio/iommufd.c | 50 ++++++---
hw/vfio/listener.c | 5 +-
hw/vfio/migration.c | 204 +++++++++++++++++++++++++++++--------
hw/vfio/pci.c | 129 +++++++++++++++++++----
migration/block-dirty-bitmap.c | 11 +-
migration/migration.c | 73 ++++++++++---
migration/options.c | 9 ++
migration/ram.c | 40 ++++----
migration/savevm.c | 173 +++++++++++++++++++++----------
hw/vfio/trace-events | 7 +-
migration/trace-events | 9 +-
28 files changed, 709 insertions(+), 313 deletions(-)