From: Jim Shu Date: Wed, 21 Jan 2026 06:34:18 +0000 (+0800) Subject: hw/vfio: cpr-iommufd: Fix wrong usage of migrate_add_blocker_modes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0e387bd1dff498b1387606386b5fd62c7b0c75dc;p=thirdparty%2Fqemu.git hw/vfio: cpr-iommufd: Fix wrong usage of migrate_add_blocker_modes The return value of API is 0 for success and negative error code for failure. We'll check if the return value equals to 0. Also, the MIG_MODE should be CPR_TRANSFER and CPR_EXEC instead of 2 same bits. The API usage is aligned with 'hw/vfio/cpr-legacy.c' after these 2 changes. Fixes: 3ca0a0ab05c ("migration: Use bitset of MigMode instead of variable arguments") Signed-off-by: Jim Shu Reviewed-by: Cédric Le Goater Link: https://lore.kernel.org/qemu-devel/20260121063418.2001326-1-jim.shu@sifive.com Signed-off-by: Cédric Le Goater --- diff --git a/hw/vfio/cpr-iommufd.c b/hw/vfio/cpr-iommufd.c index c244db88fb..6758c73b6b 100644 --- a/hw/vfio/cpr-iommufd.c +++ b/hw/vfio/cpr-iommufd.c @@ -159,8 +159,8 @@ bool vfio_iommufd_cpr_register_iommufd(IOMMUFDBackend *be, Error **errp) if (!vfio_cpr_supported(be, cpr_blocker)) { return migrate_add_blocker_modes(cpr_blocker, - BIT(MIG_MODE_CPR_TRANSFER) | BIT(MIG_MODE_CPR_TRANSFER), - errp); + BIT(MIG_MODE_CPR_TRANSFER) | BIT(MIG_MODE_CPR_EXEC), + errp) == 0; } vmstate_register(NULL, -1, &iommufd_cpr_vmstate, be);