Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/2229105/?format=api
{ "id": 2229105, "url": "http://patchwork.ozlabs.org/api/1.1/covers/2229105/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260427-qom-tests-v1-0-c413f3605311@redhat.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.1/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260427-qom-tests-v1-0-c413f3605311@redhat.com>", "date": "2026-04-27T19:41:59", "name": "[00/41] Fix various QOM object life-cycle issues", "submitter": { "id": 66774, "url": "http://patchwork.ozlabs.org/api/1.1/people/66774/?format=api", "name": "Marc-André Lureau", "email": "marcandre.lureau@redhat.com" }, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260427-qom-tests-v1-0-c413f3605311@redhat.com/mbox/", "series": [ { "id": 501716, "url": "http://patchwork.ozlabs.org/api/1.1/series/501716/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501716", "date": "2026-04-27T19:42:03", "name": "Fix various QOM object life-cycle issues", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/501716/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2229105/comments/", "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=Atxjmfnk;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4DXb70Tzz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 05:44:15 +1000 (AEST)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wHRr3-0000tA-HY; Mon, 27 Apr 2026 15:42:55 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <marcandre.lureau@redhat.com>)\n id 1wHRqq-0000pN-O8\n for qemu-devel@nongnu.org; Mon, 27 Apr 2026 15:42:41 -0400", "from us-smtp-delivery-124.mimecast.com ([170.10.129.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <marcandre.lureau@redhat.com>)\n id 1wHRqo-0007hQ-4X\n for qemu-devel@nongnu.org; Mon, 27 Apr 2026 15:42:39 -0400", "from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-39-pXqu-zsyOkOZ0slRxBWEMw-1; Mon,\n 27 Apr 2026 15:42:32 -0400", "from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id 0467E19560AA; Mon, 27 Apr 2026 19:42:24 +0000 (UTC)", "from localhost (unknown [10.44.24.6])\n by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id DCD42195608E; Mon, 27 Apr 2026 19:42:17 +0000 (UTC)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1777318957;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding;\n bh=zdK+EUUHjdOp8sYOM/4o8Xc8d42cwjolKP4mkoiOi+w=;\n b=AtxjmfnkwQKLCucqXig8t2fP6MK6Xwi675lrw1/G6FnysRklJLVPJzliow2C8fXezE18Kb\n ARdRnVmP9ELLE1C6hVIoEt9GtB/nSRUYXnIgIDmmsP5sb9qcwrpg38QPXKvjLUM5mfPvMJ\n l/us1C+u3ykGiXEjgk+VsnxisLiKihY=", "X-MC-Unique": "pXqu-zsyOkOZ0slRxBWEMw-1", "X-Mimecast-MFC-AGG-ID": "pXqu-zsyOkOZ0slRxBWEMw_1777318947", "From": "=?utf-8?q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>", "Subject": "[PATCH 00/41] Fix various QOM object life-cycle issues", "Date": "Mon, 27 Apr 2026 23:41:59 +0400", "Message-Id": "<20260427-qom-tests-v1-0-c413f3605311@redhat.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "8bit", "X-B4-Tracking": "v=1; b=H4sIAAAAAAAC/yXM3wpAMBSA8VfRubayEc2ryIXNwVH+7YyUvLvh8\n ldf3wWMjpChjC5weBDTMgfIOAI7NHOPgtpgUInKk0wVYlsm4ZE9C93aLjU615mUEPrVYUfn96r\n q37ybEa1/B3DfD977/DltAAAA", "X-Change-ID": "20260427-qom-tests-9dcf3b969411", "To": "qemu-devel@nongnu.org", "Cc": "armbru@redhat.com,\n =?utf-8?q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,\n jag.raman@oracle.com, Elena Ufimtseva <elena.ufimtseva@oracle.com>,\n peterx@redhat.com,\n =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>,\n Zhang Chen <zhangckid@gmail.com>, Li Zhijian <lizhijian@fujitsu.com>,\n Jason Wang <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,\n\t=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,\n \"Michael S. Tsirkin\" <mst@redhat.com>,\n \"Gonglei (Arei)\" <arei.gonglei@huawei.com>,\n zhenwei pi <zhenwei.pi@linux.dev>,\n Richard Henderson <richard.henderson@linaro.org>,\n Zhao Liu <zhao1.liu@intel.com>, Peter Maydell <peter.maydell@linaro.org>,\n Marcelo Tosatti <mtosatti@redhat.com>, kvm@vger.kernel.org,\n Alexander Graf <graf@amazon.com>, Dorjoy Chowdhury <dorjoychy111@gmail.com>,\n Pavel Pisa <pisa@cmp.felk.cvut.cz>,\n Francisco Iglesias <francisco.iglesias@amd.com>,\n Vikram Garhwal <vikram.garhwal@bytedance.com>,\n Gerd Hoffmann <kraxel@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>,\n Ani Sinha <anisinha@redhat.com>, Fam Zheng <fam@euphon.net>,\n qemu-block@nongnu.org, Fabiano Rosas <farosas@suse.de>,\n Laurent Vivier <lvivier@redhat.com>, Ninad Palsule <ninad@linux.ibm.com>,\n\t=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>,\n Steven Lee <steven_lee@aspeedtech.com>, Troy Lee <leetroy@gmail.com>,\n Jamin Lin <jamin_lin@aspeedtech.com>, Kane Chen <kane_chen@aspeedtech.com>,\n Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley <joel@jms.id.au>,\n qemu-arm@nongnu.org, Glenn Miles <milesg@linux.ibm.com>,\n qemu-ppc@nongnu.org, Stefan Berger <stefanb@linux.vnet.ibm.com>,\n Leif Lindholm <leif.lindholm@oss.qualcomm.com>,\n Song Gao <gaosong@loongson.cn>, Bibo Mao <maobibo@loongson.cn>,\n Jiaxun Yang <jiaxun.yang@flygoat.com>, Nicholas Piggin <npiggin@gmail.com>,\n Harsh Prateek Bora <harshpb@linux.ibm.com>,\n Aditya Gupta <adityag@linux.ibm.com>, Palmer Dabbelt <palmer@dabbelt.com>,\n Alistair Francis <alistair.francis@wdc.com>,\n Weiwei Li <liwei1518@gmail.com>,\n Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>,\n Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,\n Chao Liu <chao.liu.zevorn@gmail.com>, qemu-riscv@nongnu.org,\n Titus Rwantare <titusr@google.com>", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=5793;\n i=marcandre.lureau@redhat.com; h=from:subject:message-id;\n bh=dJeoIAYC0cILfwsTzSiUsZ2WIJGKmi2Cbxeyu6ial4s=;\n b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBp77wUV8Svhx4wJY8eV5FxLPjbbpOCdELnlPu6q\n M+OCl1EXviJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCae+8FAAKCRDa6OEJdZac\n 5ZJID/46S/D9kDQit+CYg+Q9+kkdNgbW+Vak0z9KkhG9HjyyH9MBWRGvdgLuSwjazXEPn5d2Bf1\n YBtH1ASYUrH77iYpV+p9LQTP3kGwGIA/Z+LX43RkfIuY4aNZ2CNUpAWgLZoEigIRd+AJIwxhXej\n 5QrNRlKTPSsXJP1oStq1Cc/9sY8DIgN9OZ7l37wye8nYzSXj6jlFslnBEJ70LUA6ntYSAmrSLdp\n Xlg1Puaa2VRFgn0/NDUbm/j4txR9wWowDyVNSgoj0IDc/Aw5kXmnZqXCcMhFbFh/3PVo18aV1wL\n bMOY3erCq9AK2ttsPjsoO689lvj8KNbXx+UKZq1G6S4Y2zLeYnDaPQTpx6teT9A8ze5DIQZ/DAi\n 5U+n/ZenL43ybKoVUGzh4QrDu7tHoFpcziK2+VEZX91bUJmFiY1FAi3fZPaO3qvQLcA7Wk2fr+N\n iXUErlU07ERqCugTNp3ViYjZkG7WBUJ47Iynfkl+cgZ3/mcF5DVfARfItVybrDObRG0lqCnk1QR\n 5yXxDmItCNx4SYpUJf3k29yBPw0/M1aF5OGWz3wuOdcSO7DE16FaC/gvrUbsBkSWTfu9E74MGtZ\n jwrkR+nOPcJZDE+a65ylovdTR7IBTRhaUgLBqxxln2YBms7CG4Ai3XMPB9y7VzmkVx35b5IXHSA\n E58vN+e67z4iNXQ==", "X-Developer-Key": "i=marcandre.lureau@redhat.com; a=openpgp;\n fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5", "X-Scanned-By": "MIMEDefang 3.0 on 10.30.177.17", "Received-SPF": "pass client-ip=170.10.129.124;\n envelope-from=marcandre.lureau@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com", "X-Spam_score_int": "-20", "X-Spam_score": "-2.1", "X-Spam_bar": "--", "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,\n SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no", "X-Spam_action": "no action", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "Hi,\n\nAfter Markus's \"Several QOM objects crash on introspection\" report, I\nstarted writing some unit test.\n\nThis series adds a new \"qom-tests\" qtest command that exercises basic QOM\nobject life-cycle: it instantiates all non-abstract object types, gets/sets\ntheir properties, and unrefs them. This quickly surfaces leaks and crashes\nthat could otherwise be triggered at runtime via QMP qom commands.\n\nThe bulk of the series fixes the issues found by this test and ASan\nhelp. Some of the patches are redundant with patches sent earlier on the\nML and marked as RFC, they should naturally be dropped during rebases,\nbut are added for completeness and to make sure CI pass after this\nseries in the meantime.\n\nSigned-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>\n---\nMarc-André Lureau (41):\n hw/pci: handle missing bus in prop_pci_busnr_get\n chardev/char-socket: handle NULL addr in char_socket_get_addr\n hw/pci-bridge: handle missing parent in prop_pxb_uid_get\n hw/pci-host/i440fx: handle NULL bus in pci-hole64 getters\n hw/pci-host/q35: handle NULL bus in pci-hole64 getters\n hw/remote: check visit return in vfu_object_set_socket\n qom: skip link property check callback when clearing link\n hw/intc/apic: guard against NULL cpu in set_id\n RFC hw/remote: guard listener unregister in finalize\n backends/cryptodev-lkcf: skip cleanup when not initialized\n RFC io/net-listener: move mutex init to instance_init\n RFC net/colo-compare: guard finalize against uninitialized state\n RFC system/ioport: move embedded memory region cleanup to portio_list_destroy\n ui/console: remove console from global list on finalization\n hw/i386/x86: free oem_id and oem_table_id on finalization\n hw/core/machine: free shim_filename on finalization\n hw/core/resetcontainer: free children array on finalization\n net/filter: free old values in property setters\n ui/console-vc: destroy fifo on text console finalization\n target/i386/sev: add finalize functions and fix leaking setters\n target/i386/kvm/tdx: free strings in tdx_guest_finalize\n hw/i386/nitro_enclave: add instance finalize\n net/can: free ifname on socketcan finalization\n backends/igvm-cfg: free filename on finalization\n scsi/pr-manager-helper: free path on finalization\n accel/kvm: free device path on finalization\n system/qtest: free log path on finalization\n hw/i386/pc: free pcspk on finalization\n hw/fsi: move OPBus address space init to realize\n hw/gpio/pca9552: fix state_str leak in pca955x_set_led\n hw/arm/aspeed: free fmc_model and spi_model on finalization\n hw/tpm: free PPI buffer on finalization\n hw/arm/sbsa-ref: free unrealized flash devices on finalization\n hw/arm/virt: free flash devices and OEM strings on finalization\n hw/loongarch/virt: free flash devices and OEM strings on finalization\n hw/ppc/spapr: free host_model and host_serial on finalization\n hw/ppc/pnv: drop extra ref on PHB after adding as child\n target/riscv: fix general_user_opts hash table leak\n hw/riscv/virt: free flash devices and OEM strings on finalization\n hw/i2c/pmbus: fix undefined behavior in pmbus_direct_mode2data\n qtest: add \"qom-tests\" command\n\n tests/qtest/libqtest.h | 8 ++++++\n accel/kvm/kvm-all.c | 8 ++++++\n backends/cryptodev-lkcf.c | 4 +++\n backends/igvm-cfg.c | 1 +\n chardev/char-socket.c | 4 +++\n hw/arm/aspeed.c | 9 +++++++\n hw/arm/sbsa-ref.c | 12 +++++++++\n hw/arm/virt.c | 14 ++++++++++\n hw/core/machine.c | 1 +\n hw/core/resetcontainer.c | 3 +++\n hw/fsi/aspeed_apb2opb.c | 31 +++++++++++++++------\n hw/gpio/pca9552.c | 2 +-\n hw/i2c/pmbus_device.c | 4 +--\n hw/i386/nitro_enclave.c | 11 ++++++++\n hw/i386/pc.c | 10 +++++++\n hw/i386/x86.c | 9 +++++++\n hw/intc/apic_common.c | 2 +-\n hw/loongarch/virt.c | 14 ++++++++++\n hw/pci-bridge/pci_expander_bridge.c | 8 +++++-\n hw/pci-host/i440fx.c | 15 +++++++++--\n hw/pci-host/q35.c | 15 +++++++++--\n hw/pci/pci.c | 11 ++++++--\n hw/ppc/pnv.c | 1 +\n hw/ppc/spapr.c | 2 ++\n hw/remote/remote-obj.c | 4 ++-\n hw/remote/vfio-user-obj.c | 4 ++-\n hw/riscv/virt.c | 14 ++++++++++\n hw/tpm/tpm_tis_sysbus.c | 9 +++++++\n io/net-listener.c | 9 ++++++-\n net/can/can_socketcan.c | 8 ++++++\n net/colo-compare.c | 31 +++++++++++----------\n net/filter.c | 2 ++\n qom/object.c | 10 ++++---\n scsi/pr-manager-helper.c | 1 +\n system/ioport.c | 4 ++-\n system/qtest.c | 54 +++++++++++++++++++++++++++++++++++++\n target/i386/kvm/tdx.c | 5 ++++\n target/i386/sev.c | 37 +++++++++++++++++++++++++\n target/riscv/cpu.c | 7 +++++\n tests/qtest/libqtest.c | 6 +++++\n tests/qtest/qom-test.c | 12 +++++++++\n ui/console-vc.c | 1 +\n ui/console.c | 6 ++++-\n 43 files changed, 379 insertions(+), 44 deletions(-)\n---\nbase-commit: aa15257174da180c6a8a9d58f87319cfe61c5520\nchange-id: 20260427-qom-tests-9dcf3b969411\n\nBest regards,\n-- \nMarc-André Lureau <marcandre.lureau@redhat.com>" }