Hi On Fri, Jun 5, 2026 at 7:45 PM Marc-André Lureau <[email protected]> wrote: > > The following changes since commit 29c042c6e9d4a09d4a0ac3fa54aeb7ee08ce0bdc: > > lcitool: remove Cirrus CI support (2026-06-03 12:45:38 -0400) > > are available in the Git repository at: > > https://gitlab.com/marcandre.lureau/qemu.git tags/qom-tests-pr-v1 > > for you to fetch changes up to a78ee35b70b0ef18dfd6e2a3e8ab818471a9e503: > > qtest: add "qom-tests" command (2026-06-05 12:23:33 +0400) > > ---------------------------------------------------------------- > 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. > > ---------------------------------------------------------------- > Marc-André Lureau (24): > Fix various QOM object life-cycle issues
I have done some modifications to b4 to be able to send PR. But this commit is the internal b4 tracking commit, it shouldn't be published. I will resend (eventually switch back to git publish for now). > hw/pci: handle missing bus in prop_pci_busnr_get > chardev/char-socket: handle NULL addr in char_socket_get_addr > hw/pci-bridge: handle missing parent in prop_pxb_uid_get > hw/pci-host/i440fx: handle NULL bus in pci-hole64 getters > hw/pci-host/q35: handle NULL bus in pci-hole64 getters > hw/ipmi: reject NULL 'bmc' property rather than crash > hw/xlnx_dp: reject NULL 'dpdma' property rather than crash > hw/intc/apic: move checks to realize() > backends/cryptodev-lkcf: skip cleanup when not initialized > system/ioport: minor code simplification > hw/core/machine: free shim_filename on finalization > net/filter: free old values in property setters > target/i386/sev: add finalize functions and fix leaking setters > target/i386/kvm/tdx: free strings in tdx_guest_finalize > hw/i386/nitro_enclave: add instance finalize > hw/i386/pc: free pcspk on finalization > hw/tpm: free PPI buffer on finalization > hw/loongarch/virt: free flash devices and OEM strings on finalization > hw/ppc/spapr: free host_model and host_serial on finalization > target/riscv: fix general_user_opts hash table leak > target/riscv: use hash table as set for user_options > hw/i2c/pmbus: fix undefined behavior in pmbus_direct_mode2data > qtest: add "qom-tests" command > > target/riscv/cpu.h | 3 ++- > tests/qtest/libqtest.h | 8 ++++++ > backends/cryptodev-lkcf.c | 4 +++ > chardev/char-socket.c | 4 +++ > hw/core/machine.c | 1 + > hw/display/xlnx_dp.c | 6 +++++ > hw/i2c/pmbus_device.c | 6 +++-- > hw/i386/nitro_enclave.c | 11 ++++++++ > hw/i386/pc.c | 10 +++++++ > hw/intc/apic_common.c | 23 +++++++++------- > hw/ipmi/ipmi.c | 8 +++++- > hw/loongarch/virt.c | 14 ++++++++++ > hw/pci-bridge/pci_expander_bridge.c | 8 +++++- > hw/pci-host/i440fx.c | 15 +++++++++-- > hw/pci-host/q35.c | 15 +++++++++-- > hw/pci/pci.c | 11 ++++++-- > hw/ppc/spapr.c | 2 ++ > hw/tpm/tpm_tis_sysbus.c | 9 +++++++ > net/filter.c | 2 ++ > system/ioport.c | 3 +-- > system/qtest.c | 46 ++++++++++++++++++++++++++++++++ > target/i386/cpu-apic.c | 6 +---- > target/i386/kvm/tdx.c | 5 ++++ > target/i386/sev.c | 37 ++++++++++++++++++++++++++ > target/riscv/cpu.c | 53 > ++++++++++++++++++++++--------------- > target/riscv/kvm/kvm-cpu.c | 8 +++--- > tests/qtest/libqtest.c | 6 +++++ > tests/qtest/qom-test.c | 12 +++++++++ > 28 files changed, 282 insertions(+), 54 deletions(-) > >
