git: a1fa1478f665 - main - ndp: fix late KASSERT in nd6_queue_timer

From: Pouria Mousavizadeh Tehrani <pouria_at_FreeBSD.org>
Date: Fri, 13 Mar 2026 17:51:12 UTC
The branch main has been updated by pouria:

URL: https://cgit.FreeBSD.org/src/commit/?id=a1fa1478f665ceb85e4b58e4ed8234edef833d97

commit a1fa1478f665ceb85e4b58e4ed8234edef833d97
Author:     Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org>
AuthorDate: 2026-03-13 12:41:04 +0000
Commit:     Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org>
CommitDate: 2026-03-13 17:47:37 +0000

    ndp: fix late KASSERT in nd6_queue_timer
    
    Reviewed by:    glebius
    Fixes:          7f3b46fe54f1 ("ndp: Add support for Gratuitous...")
    Differential Revision: https://reviews.freebsd.org/D55844
---
 sys/netinet6/nd6_nbr.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c
index 25786ebc0ea1..5cc0553fe7c6 100644
--- a/sys/netinet6/nd6_nbr.c
+++ b/sys/netinet6/nd6_nbr.c
@@ -1669,8 +1669,8 @@ nd6_queue_timer(void *arg)
 {
 	struct nd_queue *ndq = arg;
 	struct ifaddr *ifa = ndq->ndq_ifa;
-	struct ifnet *ifp = ifa->ifa_ifp;
-	struct in6_ifextra *ext = ifp->if_inet6;
+	struct ifnet *ifp;
+	struct in6_ifextra *ext;
 	struct in6_addr daddr;
 	struct epoch_tracker et;
 	int delay, tlladdr;
@@ -1678,6 +1678,8 @@ nd6_queue_timer(void *arg)
 
 	KASSERT(ifa != NULL, ("ND6 queue entry %p with no address", ndq));
 
+	ifp = ifa->ifa_ifp;
+	ext = ifp->if_inet6;
 	CURVNET_SET(ifp->if_vnet);
 	NET_EPOCH_ENTER(et);