Re: [PATCH v2 0/8] migration: Remove extra type-checking from vmstate macros

Peter Xu <[email protected]>
Newsgroups gmane.comp.emulators.qemu
Message-ID <[email protected]>
On Tue, Aug 18, 2026 at 03:24:33PM -0300, Fabiano Rosas wrote:
> Changes in v2:
> 
> - Removed more unused vmstate macros
> - Fixed the type check macro
> - Renamed the new structure to something more explicit
> - Added a new flag to indicate an empty vmstate
> - Added the overflow and overallocation checks
> 
> CI run: https://gitlab.com/farosas/qemu/-/pipelines/2769617319
> Also tested:
> - migration-test --full --thorough
> - x86_64 compat run forward and backwards for previous 3 QEMU releases
> - s390x compat run forward and backwards for previous 2 QEMU releases
> - ppc64 compat run forward and backwards for previous QEMU release
> - migration-test smoke ASAN/UBSAN run
> 
> v1:
> https://lore.kernel.org/r/[email protected]
> 
> Hi, this is basically what I ranted about in:
> https://lore.kernel.org/r/[email protected]
> 
> I'm replacing the per-integer-size type checks with a single "int that
> fits in 32bit" check. This allows several lines of duplicated code to
> be removed.
> 
> I haven't changed the macro names in the device code yet. If this
> series gets positive feedback then I'll send per-subsystem patches
> doing that.
> 
> CI run: https://gitlab.com/farosas/qemu/-/pipelines/2716814081
> Also tested:
> - migration-test --full --thorough
> - x86_64 compat run forwards and backwards for previous 3 QEMU releases
> - s390x compat run forwards and backwards for previous 2 QEMU releases
> - ppc64 compat run forwards and backwards for previous QEMU release
> - migration-test smoke ASAN/UBSAN run
> 
> Fabiano Rosas (8):
>   migration: Remove unused vmstate macros
>   migration: Introduce VMStateStructMember
>   migration: Remove redundant flags
>   migration: Remove duplicate vmstate macros
>   migration: Add VMS_NO_STATE flag
>   migration: Check more vmstate flags
>   migration: Harden vmstate_handle_alloc
>   migration: Harden vmstate_size
> 
>  hw/pci/msix.c                      |   6 +-
>  hw/scsi/scsi-bus.c                 |   6 +-
>  include/migration/vmstate.h        | 388 +++++++++++++----------------
>  migration/savevm.c                 |  29 ++-
>  migration/vmstate.c                | 103 +++++---
>  rust/bindings/migration-sys/lib.rs |  17 +-
>  rust/migration/src/vmstate.rs      |  32 ++-
>  rust/tests/tests/vmstate_tests.rs  |  32 +--
>  8 files changed, 331 insertions(+), 282 deletions(-)

For anything that is non-Rust:

Acked-by: Peter Xu <[email protected]>

One typo I'll comment inline, can be touched up when you queue.

-- 
Peter Xu
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.