From nobody Tue Jul 28 20:47:16 2026 X-Original-To: dev-commits-src-all@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 4h8nZx4XHvz6nGj4 for ; Tue, 28 Jul 2026 20:47:21 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4h8nZx3sGkz3KMx for ; Tue, 28 Jul 2026 20:47:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785271641; 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=dgrFl+OO0uPS2aj1+6uZDm+LA8I/U7AarqGGHU+7z7o=; b=A2aitt9bQZqJ/0WpNsRYAYdKr5hVgS4tiTUgcRfpxOncPqvzbv8dIE46kLrRZCuaFnTLkh rs8eVbZXIO0FDctzLmQ4FEHZo9bG1r47HK8RjNXSfnj8KFOLMvqAW16lB8y0i3wjUUtuXc jBmg1HE1SBs/8LzaU8MBOSn6+EdhdwcEr85TVig5qDKstvsKniq02hjZO3Qq3lpKeEjC+C XYc3nnIBl+avrgZWhaO1uU/8FHsbss4B/5XxhDdXejsIXWbPiRaO22aN/mlQIGq6KPM9Tj cPd+SlkkaXQMZMgr7O4CwqI/u+CO1fAcTfr7zwpKmoo9PkHyOx4VlQ2KxZ2kTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785271641; a=rsa-sha256; cv=none; b=ee7mpEMs4JWdeUfhdokzBGughqyte5RRJcygD5Jf/91ATq8S0Y5jMtKexv5doV4fdWlN+7 Fpu7uuLLTMMFEeBNGq/m/yn86hcaZP/y61r5XckjN+pqgd5/oVj4HeUmw9jmmFzcLDH1HP QmekfQpWUJbv3cc7vcBcFNyv5NzDv8QY7saURkP4zGcNCMOov/uhjc7h8yhfLQHlIWhoFJ 2niKKzysAqB929arOW6tx5V77LtLB+uUUMMbSlJ6sTbaqAeOmHTjxo9rNs91SkAdVDTiuJ tawejwS79GiWMIHtu7Grqj/Wvvq3BNRxSYsqR7AXyCpet0ujMZXqzfwNFZpzYw== 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=1785271641; 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=dgrFl+OO0uPS2aj1+6uZDm+LA8I/U7AarqGGHU+7z7o=; b=sUmS31w7TJJH8MDKPeudvABbgeqEWAI/hKzjiXD8qeID3JArIJ6CU+rGLHif3pTM1l9x+I uOZ+IRcZ5JeDFvu6ngQ4rQVJ1xeonM7Ro0PQ3b426xq9Z+eSrRagoyMpZ6ttVQdstTSpSr Qy/PcgVCTqueRAZcE/Ys8zB39DQQucAGrtuatP3k7CIJRlht+hHDSjlcmF/fhhsxpHEQby pXn1Jb5XqhsebTc6qatfADc0hHqM4ZAi98zdE6SdOWqSbyC1LNlsuVyMEhZH0UMCpB+3Ct QyiKP/7ITYqlfmA+VfBafluAlEO9cBK4ZKOyyzUUyRlImUP7ejH2P/CjjWkXdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h8nZx2xQdzwV1 for ; Tue, 28 Jul 2026 20:47:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c32c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Jul 2026 20:47:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 788400e9b258 - main - nd6: Do not enter net_epoch under nd6_prelist_add List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 788400e9b25830d85fad7f9ad16720be6e12ee27 Auto-Submitted: auto-generated Date: Tue, 28 Jul 2026 20:47:16 +0000 Message-Id: <6a691554.1c32c.6bcca58@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=788400e9b25830d85fad7f9ad16720be6e12ee27 commit 788400e9b25830d85fad7f9ad16720be6e12ee27 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-07-28 20:37:37 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-07-28 20:37:58 +0000 nd6: Do not enter net_epoch under nd6_prelist_add nd6_prefix_onlink will enter net_epoch when necessary. Also, exit net_epoch earlier in nd6_prefix_onlink, Because we acquired a reference to ifa, and we got our ifa from the pr->ndpr_ifp, we don't need to stay under epoch. While here, style it. Reviewed by: markj, glebius Discussed with: zlei Differential Revision: https://reviews.freebsd.org/D56129 --- sys/netinet6/nd6_rtr.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c index 4004a23308d1..9d7cd3f832d9 100644 --- a/sys/netinet6/nd6_rtr.c +++ b/sys/netinet6/nd6_rtr.c @@ -1434,11 +1434,8 @@ nd6_prelist_add(struct nd_prefixctl *pr, struct nd_prefix **newp) ND6_WUNLOCK(); /* ND_OPT_PI_FLAG_ONLINK processing */ - if (new->ndpr_raf_onlink) { - struct epoch_tracker et; - + if (new->ndpr_raf_onlink != 0) { ND6_ONLINK_LOCK(); - NET_EPOCH_ENTER(et); if ((error = nd6_prefix_onlink(new)) != 0) { nd6log((LOG_ERR, "%s: failed to make the prefix %s/%d " "on-link on %s (errno=%d)\n", __func__, @@ -1446,7 +1443,6 @@ nd6_prelist_add(struct nd_prefixctl *pr, struct nd_prefix **newp) pr->ndpr_plen, if_name(pr->ndpr_ifp), error)); /* proceed anyway. XXX: is it correct? */ } - NET_EPOCH_EXIT(et); ND6_ONLINK_UNLOCK(); } @@ -2138,7 +2134,6 @@ nd6_prefix_onlink(struct nd_prefix *pr) ifa = (struct ifaddr *)in6ifa_ifpforlinklocal(ifp, IN6_IFF_NOTREADY | IN6_IFF_ANYCAST); if (ifa == NULL) { - /* XXX: freebsd does not have ifa_ifwithaf */ CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { if (ifa->ifa_addr->sa_family == AF_INET6) { ifa_ref(ifa); @@ -2147,6 +2142,7 @@ nd6_prefix_onlink(struct nd_prefix *pr) } /* should we care about ia6_flags? */ } + NET_EPOCH_EXIT(et); if (ifa == NULL) { /* * This can still happen, when, for example, we receive an RA @@ -2164,7 +2160,6 @@ nd6_prefix_onlink(struct nd_prefix *pr) error = nd6_prefix_onlink_rtrequest(pr, ifa); ifa_free(ifa); } - NET_EPOCH_EXIT(et); return (error); }