Get rid of them, ok?
Index: netinet6/in6_ifattach.c
===================================================================
RCS file: /cvs/src/sys/netinet6/in6_ifattach.c,v
retrieving revision 1.100
diff -u -p -r1.100 in6_ifattach.c
--- netinet6/in6_ifattach.c 30 Jun 2016 08:19:03 -0000 1.100
+++ netinet6/in6_ifattach.c 20 Dec 2016 10:58:33 -0000
@@ -294,7 +294,9 @@ in6_ifattach_linklocal(struct ifnet *ifp
{
struct in6_aliasreq ifra;
struct in6_ifaddr *ia6;
- int s, error, flags;
+ int error, flags;
+
+ splsoftassert(IPL_SOFTNET);
/*
* configure link-local address.
@@ -338,9 +340,7 @@ in6_ifattach_linklocal(struct ifnet *ifp
if (in6if_do_dad(ifp) && ((ifp->if_flags & IFF_POINTOPOINT) == 0))
ifra.ifra_flags |= IN6_IFF_TENTATIVE;
- s = splsoftnet();
error = in6_update_ifa(ifp, &ifra, in6ifa_ifpforlinklocal(ifp, 0));
- splx(s);
if (error != 0)
return (error);
@@ -359,15 +359,12 @@ in6_ifattach_linklocal(struct ifnet *ifp
if ((ifp->if_flags & IFF_POINTOPOINT) == 0)
flags |= RTF_CLONING;
- s = splsoftnet();
error = rt_ifa_add(&ia6->ia_ifa, flags, ia6->ia_ifa.ifa_addr);
if (error) {
in6_purgeaddr(&ia6->ia_ifa);
- splx(s);
return (error);
}
dohooks(ifp->if_addrhooks, 0);
- splx(s);
return (0);
}