Page MenuHomeFreeBSD

D17898.id50180.diff
No OneTemporary

D17898.id50180.diff

Index: sys/netinet6/in6_ifattach.c
===================================================================
--- sys/netinet6/in6_ifattach.c
+++ sys/netinet6/in6_ifattach.c
@@ -481,9 +481,16 @@
return (-1);
}
- ia = in6ifa_ifpforlinklocal(ifp, 0); /* ia must not be NULL */
- KASSERT(ia != NULL, ("%s: ia == NULL, ifp=%p", __func__, ifp));
-
+ ia = in6ifa_ifpforlinklocal(ifp, 0);
+ if (ia == NULL) {
+ /*
+ * Another thread removed the address that we just added.
+ * This should be rare, but it happens.
+ */
+ nd6log((LOG_NOTICE, "%s: %s: new link-local address "
+ "disappeared\n", __func__, if_name(ifp)));
+ return (-1);
+ }
ifa_free(&ia->ia_ifa);
/*

File Metadata

Mime Type
text/plain
Expires
Sun, Jul 19, 10:40 PM (8 h, 57 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35253827
Default Alt Text
D17898.id50180.diff (675 B)

Event Timeline