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);
 }

Reply via email to