diff options
-rw-r--r-- | sys/net/if_ppp.c | 10 | ||||
-rw-r--r-- | sys/net/route.c | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c index e9f513425ff..6e5ff27f1e3 100644 --- a/sys/net/if_ppp.c +++ b/sys/net/if_ppp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ppp.c,v 1.27 2002/03/14 01:27:09 millert Exp $ */ +/* $OpenBSD: if_ppp.c,v 1.28 2002/06/11 04:27:40 art Exp $ */ /* $NetBSD: if_ppp.c,v 1.39 1997/05/17 21:11:59 christos Exp $ */ /* @@ -271,6 +271,8 @@ pppdealloc(sc) { struct mbuf *m; + splassert(IPL_SOFTNET); + if_down(&sc->sc_if); sc->sc_if.if_flags &= ~(IFF_UP|IFF_RUNNING); sc->sc_devp = NULL; @@ -821,6 +823,8 @@ ppp_requeue(sc) enum NPmode mode; int error; + splassert(IPL_SOFTNET); + for (mpp = &sc->sc_npqueue; (m = *mpp) != NULL; ) { switch (PPP_PROTOCOL(mtod(m, u_char *))) { case PPP_IP: @@ -1031,8 +1035,10 @@ pppintr() int i, s, s2; struct mbuf *m; + splassert(IPL_SOFTNET); + sc = ppp_softc; - s = splsoftnet(); + s = splsoftnet(); /* XXX - what's the point of this? see comment above */ for (i = 0; i < NPPP; ++i, ++sc) { if (!(sc->sc_flags & SC_TBUSY) && (IFQ_IS_EMPTY(&sc->sc_if.if_snd) == 0 || sc->sc_fastq.ifq_head)) { diff --git a/sys/net/route.c b/sys/net/route.c index 1a56c56c865..ae3e42c023b 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -1,4 +1,4 @@ -/* $OpenBSD: route.c,v 1.31 2002/06/07 18:30:11 art Exp $ */ +/* $OpenBSD: route.c,v 1.32 2002/06/11 04:27:40 art Exp $ */ /* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */ /* @@ -360,6 +360,8 @@ rtredirect(dst, gateway, netmask, flags, src, rtp) struct rt_addrinfo info; struct ifaddr *ifa; + splassert(IPL_SOFTNET); + /* verify the gateway is directly reachable */ if ((ifa = ifa_ifwithnet(gateway)) == NULL) { error = ENETUNREACH; |