From nobody Mon Oct 19 20:26:15 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4j7nBH2n8hz6wKcR for ; Mon, 19 Oct 2026 20:26:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4j7nBH29zMz3Qqk for ; Mon, 19 Oct 2026 20:26:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792441575; 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; bh=m8btW+3JjUMy0BGj12URdoUSZwdC6/EwmIuuFKQjkqM=; b=wZzpGiaV9h2gMlRm97NVLvmM56VREDtzfWYrjkMal0ja9XLqH+QoHFRrGWS9Sw0zX+6AIB OnoiMmztDTznOHReDgNFo6XW7es768np1n7ovdkbvg91Y94E2Pr5m+xgICbVvXy8r54i3R P6Vm2muvlZwl5aygcH4KAllY41xZj04rKa1EqjIcuC9wmk7UHYOZJyBZCXzsbKS+OeBpsD CaO7j4+YI2QcH3lnXycP+z/eYUci+KK6vSU6Unljom2vnt4NZ45S8twaGwjEZO48MlLjKP fsabFGI5Ji/JOw0qhVkVKyc88QP/nFrtQGM5Bz7greMpMPs4+yweHPrnZE0ddQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1792441575; b=VfKuEBtiKaIHZVaAhnjt55PvKgfL9amojNiQh7x/mmWZvHsgcr2T/HG2hPgenpMGW4aLB3 tIhGP0pCqB5FRnF1Ac8/kKpNgStB6RDqAaZ502myPw/bK42U2b7KyFO38uGW2nxb/NJlAO 35/uMWyf5Bl/9va3kWBQjXBm13SSDbLIxexL/fI6YRlwARIlpz8qDEgfB9DmNlSQOyCnfq fZCO2XsjDWKCFEfi5afGowMWkchLBOhP2VsApnPyhzIphKVjghSyNQWj8rmkV1ZAqZ4FGE 8Zsk/IMvKy+fNxf7owNkV5QpV/aNoWuLDbP5/RgE0yCKoiG4uNpYC7Mo0KApWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792441575; 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; bh=m8btW+3JjUMy0BGj12URdoUSZwdC6/EwmIuuFKQjkqM=; b=xPY7gZW/76Tkn9inzrM3XtB9kgwJFAQHihBly2DqC7zdUnzRQClo2YAY/VLzZJpmvCbkle I1NG75/X5ZxoeTM9kDUAyKTNheg5/eEO9fEOnZ15nHzqHVqtgVcy+ltr1UZmmandnaO0qV nIah+VLhN2P7ssxUTuvA7Bu/LtoMxjnxAEQGEc7tIFOowU6TyfTtY9tsF7uxsUswTZgQSW RABDZqs1p45D6NkK+PQ9KtzIQPp+zO388RHpspEYL0XDNQ6e5IX1zxWDMntwdsZrrY6Xzu A1Q+WvERl+wW/hgEhwdZqolJQWWerCi8Ynux7ftEA54pZoZ8kFpHMVUaBqXTQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j7nBH1qwKzd3r for ; Mon, 19 Oct 2026 20:26:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e131 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 19 Oct 2026 20:26:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: R. Christian McDonald Subject: git: c91539772b07 - main - pflow: Destroy exporters on module unload List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: Commit messages for the main branch of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rcm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c91539772b07cb78369626716a4ddf92cf6caa5f Auto-Submitted: auto-generated Date: Mon, 19 Oct 2026 20:26:15 +0000 Message-Id: <6ad67ce7.3e131.1846aabe@gitrepo.freebsd.org> The branch main has been updated by rcm: URL: https://cgit.FreeBSD.org/src/commit/?id=c91539772b07cb78369626716a4ddf92cf6caa5f commit c91539772b07cb78369626716a4ddf92cf6caa5f Author: R. Christian McDonald AuthorDate: 2026-10-19 20:18:25 +0000 Commit: R. Christian McDonald CommitDate: 2026-10-19 20:25:40 +0000 pflow: Destroy exporters on module unload Since 83641335f96c only jail removal destroys exporters. Unloading pflow with one left trips the assertion in vnet_pflowdetach() or, without INVARIANTS, leaves pf calling into the freed module the next time it removes a state that pflow exports. Reviewed by: kp Fixes: 83641335f96c ("pf: clean up pflow sockets on jail removal") MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pflow.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pflow.c b/sys/netpfil/pf/pflow.c index d30b80c88d89..7b9fa5bc7249 100644 --- a/sys/netpfil/pf/pflow.c +++ b/sys/netpfil/pf/pflow.c @@ -205,8 +205,12 @@ pflow_jail_remove(void *obj, void *data __unused) static void vnet_pflowdetach(void) { + struct pflow_softc *sc, *tmp; + + /* Left on module unload; drain before the counters are freed. */ + CK_LIST_FOREACH_SAFE(sc, &V_pflowif_list, sc_next, tmp) + pflow_destroy(sc->sc_id, true); - /* Should have been done by pflow_jail_remove() */ MPASS(CK_LIST_EMPTY(&V_pflowif_list)); delete_unrhdr(V_pflow_unr); mtx_destroy(&V_pflowif_list_mtx);