On Thu, Sep 22, 2016 at 04:09:37PM +0200, Sebastien Marie wrote: > Hi, > > After rebuilding kernel under i386, I experimented splassert. > > Here is a shorten backtrace handwritten: > > splassert: sorwakeup: want 64 have 0 > Starting stack trace... > splassertfail(...) > splassertfail(...) > splassertcheck(...) > sorwakeup(...) > route_input(...) > rt_ifmsg(...) > ifioctl(...) > sys_ioctl(...) > syscall(...) > --- syscall (number 959474688) --- > > (I could rewrite the complete version on request as I shoted pictures > and it is reproductible easily). > > It occurs at boottime during network starting. > > My configuration is simple: > $ cat /etc/hostname.bce0 > dhcp > rtsol > > The splassert is trigged during `rtsol' processing, as removing it makes > the laptop to boot. > > Below the dmesg (while running without ipv6). > -- > Sebastien Marie
I hit this too. Is this the proper fix? Index: if.c =================================================================== RCS file: /cvs/src/sys/net/if.c,v retrieving revision 1.449 diff -u -p -r1.449 if.c --- if.c 20 Sep 2016 16:14:43 -0000 1.449 +++ if.c 21 Sep 2016 16:51:39 -0000 @@ -1898,7 +1898,9 @@ ifioctl(struct socket *so, u_long cmd, c ifp->if_xflags = (ifp->if_xflags & IFXF_CANTCHANGE) | (ifr->ifr_flags & ~IFXF_CANTCHANGE); + s = splsoftnet(); rt_ifmsg(ifp); + splx(s); break; case SIOCSIFMETRIC: