On Thu, Dec 29, 2016 at 09:15:54AM +0100, Martin Pieuchot wrote:
> Get rid of them, ok?
OK bluhm@
>
> 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 - 1.100
> +++ netinet6/in6_ifattach.c 20 Dec 2016 10:58:33 -
> @@ -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);
> }