From: Stefan Hajnoczi Date: Sat, 6 Jun 2026 18:47:04 +0000 (-0400) Subject: Merge tag 'qom-tests-pr-v2' of https://gitlab.com/marcandre.lureau/qemu into staging X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=HEAD;p=thirdparty%2Fqemu.git Merge tag 'qom-tests-pr-v2' of https://gitlab.com/marcandre.lureau/qemu into staging Fix various QOM object life-cycle issues This series adds a new "qom-tests" qtest command that exercises basic QOM object life-cycle: it instantiates all non-abstract object types, gets/sets their properties, and unrefs them. This quickly surfaces leaks and crashes that could otherwise be triggered at runtime via QMP qom commands. # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmojrOsACgkQ2ujhCXWW # nOUHSg/9EvbthHQZb0b9uKHoGrR9xCc2eGY/xnR6cNzl0jUvOQ9Hnqzm54Wmxw4s # S5vql/3AISgYVl8ScTv5YZlwrXLCIM7FYCCbMIR4gcCjNfEBuxF3zmMQZSLdVFVx # gUZ0d07sWVsT+jtPoehloWJAnIjsFDA/BlVFusN4MLtfmCRJV7QSbXsI3aN2mgZT # vq2j8Ia8atRxf3mxkfKZwarTAz9tzIlHOD87gkHZJFv2lJfx2PgC9j5xmd8O5uXV # cWZsZQldopa+hlZOGi++SfwbnFmYLHYPiVr/ZgM+gdMOrFaQxx1+SIrw8HDYLDK+ # o3I4YpE/sTUJoBMl9BA6nUJzxPlg1akziMUoI5us2uXUsU+QQvEL8zgpMYmqz4BW # 5jhweo9SG7ZMQ21U4QLTX94HC/uPoq0WeBJuY+dHf57SApBdhMjq4l+pwTeUwk5c # nGO4gT0aPSsjscYsJqpZeOXGLgjlvO/Lv7+2DpoP0mLWYy6CLHg/RuFGIG7IPlIu # J17bSkD+g5HNBUCgABExqd+6FgfPHOPqlOYHTh93juYDvrrztLjevTZpgLzfMzi+ # qnBlx/688QCjp00wgGGjYY8afBFhGTn5Okm64F1KVmd0rzdCLQuVhLdV1zn31jwF # 39EfdkguGr800AFKYaYOTfuPNzWSwH04m4c0EXZYfxg7/LBplzc= # =8fwy # -----END PGP SIGNATURE----- # gpg: Signature made Sat 06 Jun 2026 01:15:23 EDT # gpg: using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5 # gpg: Good signature from "Marc-André Lureau " [full] # gpg: aka "Marc-André Lureau " [full] # Primary key fingerprint: 87A9 BD93 3F87 C606 D276 F62D DAE8 E109 7596 9CE5 * tag 'qom-tests-pr-v2' of https://gitlab.com/marcandre.lureau/qemu: (23 commits) qtest: add "qom-tests" command hw/i2c/pmbus: fix undefined behavior in pmbus_direct_mode2data target/riscv: use hash table as set for user_options target/riscv: fix general_user_opts hash table leak hw/ppc/spapr: free host_model and host_serial on finalization hw/loongarch/virt: free flash devices and OEM strings on finalization hw/tpm: free PPI buffer on finalization hw/i386/pc: free pcspk on finalization hw/i386/nitro_enclave: add instance finalize target/i386/kvm/tdx: free strings in tdx_guest_finalize target/i386/sev: add finalize functions and fix leaking setters net/filter: free old values in property setters hw/core/machine: free shim_filename on finalization system/ioport: minor code simplification backends/cryptodev-lkcf: skip cleanup when not initialized hw/intc/apic: move checks to realize() hw/xlnx_dp: reject NULL 'dpdma' property rather than crash hw/ipmi: reject NULL 'bmc' property rather than crash hw/pci-host/q35: handle NULL bus in pci-hole64 getters hw/pci-host/i440fx: handle NULL bus in pci-hole64 getters ... Signed-off-by: Stefan Hajnoczi --- 3390aba56c354637eccd2d5ab5fd6efc2f026f06