From nobody Thu Nov 12 15:08:08 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1793108754; cv=none; d=zohomail.com; s=zohoarc; b=YgTvRYoT69uH3PYo3ejNAZtuLPoMjDDi9ObvyqHvmT5ygPo1iRUGhp0Pg7lxLuP2EuIf94XUwuRxBQ9dkXpK9+Ou3XJ7lhWbf7WqsIY2rgEnaFO4J9VSVK+WMlhGl/P8l2X50sapaUqQOdmFbC2SKybKIdfguBl7sBj1VtOUa/g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1793108754; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:Subject:Subject:To:To:Message-Id:Cc; bh=gcJEe7v7o0w4dq+eDvuo9sDDYcKAZ4mqMf8omHtiuBQ=; b=gKmXUwHAPWvHzcbMgMztY6Y6atbbS7DoU8z1qBDHw7azOEFAmP55oM+mMvr5y15B14DSmpAFiE2BTaUpdRC8EubBP+2JHJ3zRrQWXe+CYOg39pmOy5m+FH/kX3dAEbbh+lAFZ5yVx320ePI29Udsx9Sr5L1p2Fg26yzh24flXdQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1793108754277601.1819839794839; Tue, 27 Oct 2026 06:45:54 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id EB2AF3F2FC; Tue, 27 Oct 2026 09:45:52 -0400 (EDT) Received: from [172.19.199.19] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id BBB5B41C5C; Tue, 27 Oct 2026 09:44:02 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id EADF1417EC; Tue, 27 Oct 2026 09:43:49 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 7AB513F33F for ; Tue, 27 Oct 2026 09:43:49 -0400 (EDT) Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-230-HhxSl7PBMwCHW2emOzAAIQ-1; Tue, 27 Oct 2026 09:43:47 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 56406195411F for ; Tue, 27 Oct 2026 13:43:46 +0000 (UTC) Received: from mprivozn-thinkpadt14gen4.tpbc.csb (unknown [10.43.3.180]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id B96501803A55 for ; Tue, 27 Oct 2026 13:43:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,RCVD_IN_SBL_CSS,SPF_HELO_PASS autolearn=no autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1793108629; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gcJEe7v7o0w4dq+eDvuo9sDDYcKAZ4mqMf8omHtiuBQ=; b=St/MR6vxjKJIecyES1zFaBGITVI7a6GlS43owsrkqDFWaqs99rbthKnIfMjHfKjzCjOQ7z w5dsMQuNYU+kfbWfcPW90uQN8OqeRtcLIPLPIeoADxTTD1XBknibzMTVv1dJVgarP5wr36 zNwZGUoQ9dyiierNCGzX/oxe/FBKh5Y= X-MC-Unique: HhxSl7PBMwCHW2emOzAAIQ-1 X-Mimecast-MFC-AGG-ID: HhxSl7PBMwCHW2emOzAAIQ_1793108626 To: devel@lists.libvirt.org Subject: [PATCH 1/2] virnwfilterobj: Don't leak @objs in virNWFilterObjListExport() Date: Tue, 27 Oct 2026 14:43:41 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: YRhaC_tMer0x0XAmwRygGeCbWhRcroosg7grVs-brPw_1793108626 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 7RAG27OKJQYHWZ2PMCJLBGNRXZ3MRZBJ X-Message-ID-Hash: 7RAG27OKJQYHWZ2PMCJLBGNRXZ3MRZBJ X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Michal Privoznik via Devel Reply-To: Michal Privoznik X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1793108756559158500 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Michal Privoznik Allocated in virNWFilterObjListCollect(), the @objs is an array of pointers to virNWFilterObj. While individual objects have their refcounter decremented (in case of failure), the array itself is never freed leading to a memory leak: =3D=3D272308=3D=3D 192 bytes in 1 blocks are definitely lost in loss record= 3,158 of 3,320 =3D=3D272308=3D=3D at 0x491262B: calloc (vg_replace_malloc.c:1616) =3D=3D272308=3D=3D by 0x500B721: g_malloc0 (gmem.c:133) =3D=3D272308=3D=3D by 0x4AEC4C5: virNWFilterObjListCollect (virnwfiltero= bj.c:501) =3D=3D272308=3D=3D by 0x4AEC599: virNWFilterObjListExport (virnwfilterob= j.c:529) =3D=3D272308=3D=3D by 0x1968A77C: nwfilterConnectListAllNWFilters (nwfil= ter_driver.c:500) =3D=3D272308=3D=3D by 0x4D2A4E4: virConnectListAllNWFilters (libvirt-nwf= ilter.c:102) =3D=3D272308=3D=3D by 0x402326B: remoteDispatchConnectListAllNWFilters (= remote_daemon_dispatch_stubs.h:1775) Signed-off-by: Michal Privoznik Reviewed-by: Jiri Denemark --- src/conf/virnwfilterobj.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/conf/virnwfilterobj.c b/src/conf/virnwfilterobj.c index 6456add593..22c7864c07 100644 --- a/src/conf/virnwfilterobj.c +++ b/src/conf/virnwfilterobj.c @@ -554,6 +554,7 @@ virNWFilterObjListExport(virConnectPtr conn, VIR_FREE(tmp_filters); for (i =3D 0; i < nfilters; i++) virNWFilterObjUnlock(objs[i]); + VIR_FREE(objs); return ret; } =20 --=20 2.56.0 From nobody Thu Nov 12 15:08:08 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1793108799; cv=none; d=zohomail.com; s=zohoarc; b=b59NFDFX/UEw5vtG9iM2X2EvwTs10LgPxrszfL8oOiOSHh03C0zITyOiruPIF6L5MhmYArCaDPQXZfcL/4rwahzVx5bcdjSbfY0/yffrgMDQHOC2nTrHSWs4k4m2UmUuy2BwDgW0/3dEw/7C9SzAaubiGu8jdwvKp2y+UmV55fI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1793108799; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:Subject:Subject:To:To:Message-Id:Cc; bh=fP6qlqxlF4V8vyd+gN4T2QPAp/09Cq45dCQpHiLZ9RE=; b=j/CVnKbA4UeQrfG+W22wubrGz3MBwsDU7bbwSdkKP9+ddq2RpgLn58JZ/w1vRsIl5rofJcKNocLAbLa/zwHAAOethp7gAwkOGLFRu9ahCl55WSRuiue8iEAU0kBHQ/2m3XmcCvHVCPT3gL9znpY+etdIl1CqaJyqMISUJsdwKp4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1793108799131197.25500962135595; Tue, 27 Oct 2026 06:46:39 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id DFC693F375; Tue, 27 Oct 2026 09:46:37 -0400 (EDT) Received: from [172.19.199.19] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id 9A97B41CCC; Tue, 27 Oct 2026 09:44:06 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 7D4473F33F; Tue, 27 Oct 2026 09:43:50 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id C90013F35B for ; Tue, 27 Oct 2026 09:43:49 -0400 (EDT) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-260-TnLJuTFhNfeeyWPEPAb45Q-1; Tue, 27 Oct 2026 09:43:48 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4CB121800643 for ; Tue, 27 Oct 2026 13:43:47 +0000 (UTC) Received: from mprivozn-thinkpadt14gen4.tpbc.csb (unknown [10.43.3.180]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id AE8221800642 for ; Tue, 27 Oct 2026 13:43:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1793108629; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fP6qlqxlF4V8vyd+gN4T2QPAp/09Cq45dCQpHiLZ9RE=; b=P5YfKlRzAmOgwz2XUTUqD7a4YvBaBeayFRoMkwTLnrs89VGZ1hvjNTlexgbtVBWXo+46JW tpKf0PhXwH7oJ1GTpPSdf8krEOLDAyl3zZ8Ff4bZX1qLfSis5RHFk150Al4FqScekDzRR3 8VA+2lXgS45TOwwZLL7dzOMLHN+NwSA= X-MC-Unique: TnLJuTFhNfeeyWPEPAb45Q-1 X-Mimecast-MFC-AGG-ID: TnLJuTFhNfeeyWPEPAb45Q_1793108627 To: devel@lists.libvirt.org Subject: [PATCH 2/2] nwfilter: Release driver config in nwfilterStateCleanupLocked() Date: Tue, 27 Oct 2026 14:43:42 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: yG_Idm_iPmQ4llb2VRbINrOtl3kmoX5ghAMLjI2fNWw_1793108627 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: W7IIVHZ7FIOQWS4BIVBYX4UQPHGJZPEK X-Message-ID-Hash: W7IIVHZ7FIOQWS4BIVBYX4UQPHGJZPEK X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Michal Privoznik via Devel Reply-To: Michal Privoznik X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1793108800791158500 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Michal Privoznik The nwfilterStateCleanupLocked() is responsible for freeing nwfilter driver struct members. But it never decrements the driver's config object leading to a memory leak. =3D=3D272308=3D=3D 154 (64 direct, 90 indirect) bytes in 1 blocks are defin= itely lost in loss record 3,136 of 3,320 =3D=3D272308=3D=3D at 0x515C3C8: g_type_create_instance (gtype.c:1877) =3D=3D272308=3D=3D by 0x51411E3: g_object_new_internal.part.0 (gobject.c= :2671) =3D=3D272308=3D=3D by 0x5142956: g_object_new_internal (gobject.c:2671) =3D=3D272308=3D=3D by 0x5142956: g_object_new_with_properties (gobject.c= :2833) =3D=3D272308=3D=3D by 0x5143930: g_object_new (gobject.c:2481) =3D=3D272308=3D=3D by 0x49BCDB8: virObjectNew (virobject.c:257) =3D=3D272308=3D=3D by 0x1968C484: virNWFilterDriverConfigNew (nwfilter_d= river_conf.c:163) =3D=3D272308=3D=3D by 0x196899AB: nwfilterStateInitialize (nwfilter_driv= er.c:237) =3D=3D272308=3D=3D by 0x4CE2BE3: virStateInitialize (libvirt.c:667) =3D=3D272308=3D=3D by 0x401C171: daemonRunStateInit (remote_daemon.c:583) Signed-off-by: Michal Privoznik Reviewed-by: Jiri Denemark --- src/nwfilter/nwfilter_driver.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c index 9b981ddcbf..2ea55d1788 100644 --- a/src/nwfilter/nwfilter_driver.c +++ b/src/nwfilter/nwfilter_driver.c @@ -176,6 +176,7 @@ nwfilterStateCleanupLocked(void) } =20 virObjectUnref(driver->bindings); + virObjectUnref(driver->config); =20 /* free inactive nwfilters */ virNWFilterObjListFree(driver->nwfilters); --=20 2.56.0