From nobody Fri Mar 21 01:39:26 2025 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 4ZJlVQ6wzyz5rcwQ; Fri, 21 Mar 2025 01:39:26 +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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZJlVQ61Vsz46jy; Fri, 21 Mar 2025 01:39:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1742521166; 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=R8o7auH/p1MmHC3JrDA/wjjoWmGf4vyk7eWpbGp5Do8=; b=nmCfb1qwTM+U4TiLzJ0kcAUSSdBuFYANlWe3tP2P5cFAOMyW3ZRMzwGGBbswi6bSHCfVsG +ygsP84sSUzhDDwFRdpV4FS63Opg32TEXDa7qdm4C0ppusW4Ioen/iEWUBztheZn+z9Kxm nEeSCmIIbiwh9nOmfr50OMKM7wyZ7+fwzrPu457sqv3DZQZ3pCsxS5mgg1wTeyfpzXTVBf 9A4EkpBvt/6RQT8eMV5VFwtS4A3zha1M5JPjpAHyGExG/+AXWKBmOV144d+3sL1NAg/KDx tlMOm3thBou+GijFfS0JpiTrnctX3hx8L77KHjecyGrIe50ziY+N/BeyyMTBBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1742521166; a=rsa-sha256; cv=none; b=qK9MsHIDhtRNWeuvIpPYnd5Ql901F3nLK24OWEDV1MOSJIsjOspvvrlPvNBFz32yq/sjcH NR2GgaNj7o7iNwJPRn4KbcXcjy+I6bRWq+TqXPF4mTep6db3g+fiCwrpX4UuKMI80/Niko s9k7I3SNH/8Ycey2ecd0ONHuJJGa0tDZOehRFm7BAauTxfsSIna3lVDy6dOig17iGN9zdi EUTNJx3ioPC33Y7mlDoEzr69CZANqU+540Du8UvE3VnN+Q74ihy6Ujc2W76sTdyf5mLl6c vztlwQQ1XoLvw9St5i82HrRdSKCVRy45Aacs4AVxtBrhxk8c4IgZIzFDradfJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1742521166; 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=R8o7auH/p1MmHC3JrDA/wjjoWmGf4vyk7eWpbGp5Do8=; b=XAGNSLvMS5ExOzzVsktFAbHNYKYkpAsDgQ0i7nhASC/VIr4zlwVTIZFKs3PEUi8oPgPEqt N5GDDrgGLHUDNi9M7gkIs0M3kt8heFa8d+MrfaZl5BxgWfQEUeefoHxcvjjp7n4AHMM6b8 aCwBMfldeYuwi99d7W5WHUfSJKy//CqrgTSYa2zBCWAAMf1J5/3hmEaObuR1CtjsvxKCg7 bSXRtZ4S+28o/VGWgxNpMfzjwxPbag4yMJYhkPmDNSlY82EzX0eGtfFQR45bovaGLNvQ78 HBd/m7M9fGJJhgjKQIOm6MEK6XbT354QE9TuEvHq2LTIT8jUCsk+YfLpeCkC+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZJlVQ5HyVz6c; Fri, 21 Mar 2025 01:39:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52L1dQx8001013; Fri, 21 Mar 2025 01:39:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52L1dQAf001010; Fri, 21 Mar 2025 01:39:26 GMT (envelope-from git) Date: Fri, 21 Mar 2025 01:39:26 GMT Message-Id: <202503210139.52L1dQAf001010@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: d3a892ce142f - main - pf: Increment rule counters only after successful state insertion List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d3a892ce142fb127b6b4663e61db0fd687782383 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d3a892ce142fb127b6b4663e61db0fd687782383 commit d3a892ce142fb127b6b4663e61db0fd687782383 Author: Kristof Provost AuthorDate: 2025-03-04 08:33:42 +0000 Commit: Kristof Provost CommitDate: 2025-03-21 01:29:04 +0000 pf: Increment rule counters only after successful state insertion Do rule counter increments after state has been successfully installed. This has an additional benefit of making error handling a bit simpler. OK mpi, bluhm Obtained from: OpenBSD, mikeb , e44d8797e7 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index dadb3299ff99..bfff339a66f5 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6103,7 +6103,6 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, memcpy(&s->match_rules, match_rules, sizeof(s->match_rules)); memcpy(&s->act, &pd->act, sizeof(struct pf_rule_actions)); - STATE_INC_COUNTERS(s); if (r->allow_opts) s->state_flags |= PFSTATE_ALLOWOPTS; if (r->rule_flag & PFRULE_STATESLOPPY) @@ -6227,6 +6226,8 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, } else *sm = s; + STATE_INC_COUNTERS(s); + /* * Lock order is important: first state, then source node. */ @@ -6302,7 +6303,6 @@ drop: if (s != NULL) { pf_src_tree_remove_state(s); s->timeout = PFTM_UNLINKED; - STATE_DEC_COUNTERS(s); pf_free_state(s); }