Commit 621ffed4b3 for qemu.org

commit 621ffed4b35873420ca28df7a5b9fd4d424afa35
Merge: 4bde339ecb 78532838ab
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Sat Apr 25 10:20:29 2026 -0400

    Merge tag 'migration-20260423-pull-request' of https://gitlab.com/farosas/qemu into staging

    Migration pull request

    - Cleanups to internal vmstate APIs
    - Cleanups to handling of vmstate flags
    - New vmstate VMS_ARRAY_OF_POINTER_AUTO_ALLOC
    - Fixes to:
      - functional exec test
      - leaks in file migration
      - mapped-ram migration input validation
      - programming errors in qemu-file and multifd
      - qtest leaks
    - Additions to iochannel APIs:
      qio_channel_pread{v,}_all{,_eof}
      qio_channel_pwrite{v,}_all
    - New migration qtest for capabilities validation
    - Tweaks to documentation and checkpatch

    # -----BEGIN PGP SIGNATURE-----
    #
    # iQJEBAABCAAuFiEEqhtIsKIjJqWkw2TPx5jcdBvsMZ0FAmnqar8QHGZhcm9zYXNA
    # c3VzZS5kZQAKCRDHmNx0G+wxnQZzEACJcMspEO21PClDOwkhyqjIT0j2Xmyhe+B9
    # OZkl42SnbXsKNDdORIKJ2U9oG2v+vzWccEMSqjV0jFyQJzrUfEvA0V2i5eH/zXuW
    # jUTgrOO5nbwbvPUk4BXGxnplRwB2BrKgjQ62WDgLEn/ZeW9KxUOuNcUCvAtJnljY
    # WFYOFn5oeV41TdGj7H5w7fzwYDsRYMUAB9lbr4MnRynSVq2aWrf+ddJpbPhC03fZ
    # t6hMyhIT3SnELMw1hnIOGbkYJn5gCHme6cnyMOUrnU/ws+2lExEL4X11sSCexRbo
    # N9zpJfi2U/wfiKrHPjUZ7InavaJm47WvzOQ1eC2I0v5xWY5G3wgvFJ9PAm3gtgr/
    # n0QYf4xWpJ2rZDnFvKepXRqcndhNa6VYAhs4v2qVBH/9mSjhKHEqLMza6llZ/d/W
    # 4ovHK3OQp0NUDWkBmjYUEu/JCusKrWLMdzosm75Z0Vs/cG4ks4s5zb47NIFjFsnT
    # WWIK6dAi+27eiZ7BMflVx6La2DAFBc9b8jpO1Rxi3VyN2J7LTzXWIqshJ1Rap6wb
    # kNtVjQOtsLdURX6tKLthdzY1M7mgYm+W12l94X9OTZHZUcQwoYKO0P7FJ4YdKDh/
    # lPEkAg5um66drxPM268E4jLBxzRWxhPz5SPgv2qeXRO9vkm6G2mapgQtWb00Ta4P
    # CitNkhqk0A==
    # =3vDa
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Thu 23 Apr 2026 14:53:51 EDT
    # gpg:                using RSA key AA1B48B0A22326A5A4C364CFC798DC741BEC319D
    # gpg:                issuer "farosas@suse.de"
    # gpg: Good signature from "Fabiano Rosas <farosas@suse.de>" [unknown]
    # gpg:                 aka "Fabiano Almeida Rosas <fabiano.rosas@suse.com>" [unknown]
    # gpg: WARNING: The key's User ID is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: AA1B 48B0 A223 26A5 A4C3  64CF C798 DC74 1BEC 319D

    * tag 'migration-20260423-pull-request' of https://gitlab.com/farosas/qemu: (43 commits)
      migration/qemu-file: drop incorrect const from qemu_get_buffer_at buf
      migration/file: switch file_write_ramblock_iov to pwritev_all
      migration/qemu-file: switch buffer_at functions to positioned I/O _all helpers
      tests/qtest/migration: fix fd leak in ufd_version_check
      tests/unit: add pread/pwrite _all tests for io channel file
      migration/file: fix type mismatch and NULL deref in multifd_file_recv_data
      io/channel: introduce qio_channel_pwrite{v,}_all()
      io/channel: introduce qio_channel_pread{v, }_all{, _eof}()
      migration: validate page_size in mapped-ram header before use
      tests/unit/test-vmstate: add tests for VMS_ARRAY_OF_POINTER_AUTO_ALLOC
      vmstate: Stop checking size for nullptr compression
      vmstate: Implement VMS_ARRAY_OF_POINTER_AUTO_ALLOC
      vmstate: Implement load of ptr marker in vmstate core
      vmstate: Allow vmstate_info_nullptr to emit non-NULL markers
      vmstate: Introduce vmstate_save_field_with_vmdesc()
      vmstate: Rename VMS_NULLPTR_MARKER to VMS_MARKER_PTR_NULL
      vmstate: Update max_elems early and check field compressable once
      vmstate: Do not set size for VMS_ARRAY_OF_POINTER
      vmstate: Pass in struct itself for VMSTATE_VARRAY_OF_POINTER_UINT32
      vmstate: Pass in struct itself for VMSTATE_ARRAY_OF_POINTER
      ...

    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>