From: Zhao Liu Date: Thu, 13 Nov 2025 05:19:16 +0000 (+0800) Subject: rust/migration: Add Sync implementation for Migratable<> X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ace4aa13315591cadb0f0399ae7fccdaae71a6a;p=thirdparty%2Fqemu.git rust/migration: Add Sync implementation for Migratable<> It's common to define MemoryRegionOps and VMStateDescription as static variables, and this requires T to implement Sync. Migratable is usually embedded in device state, so it's necessary to implement Sync for Migratable. Signed-off-by: Zhao Liu Link: https://lore.kernel.org/r/20251113051937.4017675-2-zhao1.liu@intel.com Signed-off-by: Paolo Bonzini --- diff --git a/rust/migration/src/migratable.rs b/rust/migration/src/migratable.rs index ce60386750..5700554f7e 100644 --- a/rust/migration/src/migratable.rs +++ b/rust/migration/src/migratable.rs @@ -340,6 +340,9 @@ pub struct Migratable { runtime_state: T, } +// SAFETY: the migration_state asserts via `BqlCell` that the BQL is taken. +unsafe impl Sync for Migratable {} + impl std::ops::Deref for Migratable { type Target = T;