Page MenuHomeFreeBSD

D13407.id42264.diff
No OneTemporary

D13407.id42264.diff

Index: sys/netinet6/in6.c
===================================================================
--- sys/netinet6/in6.c
+++ sys/netinet6/in6.c
@@ -1399,7 +1399,7 @@
if (ifacount <= 1 && ifp->if_ioctl) {
error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia);
if (error)
- return (error);
+ goto done;
}
/*
@@ -1439,7 +1439,7 @@
ia->ia_flags |= IFA_RTSELF;
error = rtinit(&ia->ia_ifa, RTM_ADD, ia->ia_flags | rtflags);
if (error)
- return (error);
+ goto done;
ia->ia_flags |= IFA_ROUTE;
}
@@ -1452,7 +1452,12 @@
if (error == 0)
ia->ia_flags |= IFA_RTSELF;
}
+done:
+ WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL,
+ "Invoking IPv6 network device address event may sleep");
+ EVENTHANDLER_INVOKE(ifaddr_event, ifp);
+
return (error);
}

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 12, 10:36 PM (3 h, 48 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23644063
Default Alt Text
D13407.id42264.diff (793 B)

Event Timeline