Module Name: src Committed By: yamaguchi Date: Wed Nov 25 10:44:53 UTC 2020
Modified Files: src/sys/net: if_spppsubr.c Log Message: add KASSERT(!cpu_softintr_p()); pointed out by knakahara@n.o., thanks. To generate a diff of this commit: cvs rdiff -u -r1.213 -r1.214 src/sys/net/if_spppsubr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/if_spppsubr.c diff -u src/sys/net/if_spppsubr.c:1.213 src/sys/net/if_spppsubr.c:1.214 --- src/sys/net/if_spppsubr.c:1.213 Wed Nov 25 10:30:51 2020 +++ src/sys/net/if_spppsubr.c Wed Nov 25 10:44:53 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_spppsubr.c,v 1.213 2020/11/25 10:30:51 yamaguchi Exp $ */ +/* $NetBSD: if_spppsubr.c,v 1.214 2020/11/25 10:44:53 yamaguchi Exp $ */ /* * Synchronous PPP/Cisco link level subroutines. @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.213 2020/11/25 10:30:51 yamaguchi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.214 2020/11/25 10:44:53 yamaguchi Exp $"); #if defined(_KERNEL_OPT) #include "opt_inet.h" @@ -1869,6 +1869,7 @@ sppp_up_event(struct sppp *sp, void *xcp STDDCL; KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); if ((cp->flags & CP_AUTH) != 0 && sppp_auth_role(cp, sp) == SPPP_AUTH_NOROLE) @@ -1902,6 +1903,7 @@ sppp_down_event(struct sppp *sp, void *x STDDCL; KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); if ((cp->flags & CP_AUTH) != 0 && sppp_auth_role(cp, sp) == SPPP_AUTH_NOROLE) @@ -1944,6 +1946,7 @@ sppp_open_event(struct sppp *sp, void *x STDDCL; KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); if ((cp->flags & CP_AUTH) != 0 && sppp_auth_role(cp, sp) == SPPP_AUTH_NOROLE) @@ -1986,6 +1989,7 @@ sppp_close_event(struct sppp *sp, void * STDDCL; KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); if ((cp->flags & CP_AUTH) != 0 && sppp_auth_role(cp, sp) == SPPP_AUTH_NOROLE) @@ -2035,6 +2039,7 @@ sppp_to_event(struct sppp *sp, void *xcp STDDCL; KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); s = splnet(); @@ -2097,6 +2102,8 @@ sppp_rcr_event(struct sppp *sp, void *xc size_t blen; STDDCL; + KASSERT(!cpu_softintr_p()); + type = sp->scp[cp->protoidx].rcr_type; buf = sp->scp[cp->protoidx].rcr_buf; blen = sp->scp[cp->protoidx].rcr_blen; @@ -2202,6 +2209,8 @@ sppp_rca_event(struct sppp *sp, void *xc const struct cp *cp = xcp; STDDCL; + KASSERT(!cpu_softintr_p()); + switch (sp->scp[cp->protoidx].state) { case STATE_CLOSED: case STATE_STOPPED: @@ -2246,6 +2255,8 @@ sppp_rcn_event(struct sppp *sp, void *xc const struct cp *cp = xcp; struct ifnet *ifp = &sp->pp_if; + KASSERT(!cpu_softintr_p()); + switch (sp->scp[cp->protoidx].state) { case STATE_CLOSED: case STATE_STOPPED: @@ -2283,6 +2294,8 @@ sppp_rtr_event(struct sppp *sp, void *xc const struct cp *cp = xcp; STDDCL; + KASSERT(!cpu_softintr_p()); + switch (sp->scp[cp->protoidx].state) { case STATE_ACK_RCVD: case STATE_ACK_SENT: @@ -2323,6 +2336,8 @@ sppp_rta_event(struct sppp *sp, void *xc const struct cp *cp = xcp; struct ifnet *ifp = &sp->pp_if; + KASSERT(!cpu_softintr_p()); + switch (sp->scp[cp->protoidx].state) { case STATE_CLOSED: case STATE_STOPPED: @@ -2359,6 +2374,8 @@ sppp_rxj_event(struct sppp *sp, void *xc const struct cp *cp = xcp; struct ifnet *ifp = &sp->pp_if; + KASSERT(!cpu_softintr_p()); + /* XXX catastrophic rejects (RXJ-) aren't handled yet. */ switch (sp->scp[cp->protoidx].state) { case STATE_CLOSED: @@ -2485,6 +2502,7 @@ sppp_lcp_down(struct sppp *sp, void *xcp STDDCL; KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); pidx = cp->protoidx; sppp_down_event(sp, xcp); @@ -2536,6 +2554,7 @@ sppp_lcp_open(struct sppp *sp, void *xcp { KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); sp->lcp.reestablish = false; @@ -3300,6 +3319,7 @@ sppp_ipcp_open(struct sppp *sp, void *xc uint32_t myaddr, hisaddr; KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); sp->ipcp.flags &= ~(IPCP_HISADDR_SEEN|IPCP_MYADDR_SEEN|IPCP_MYADDR_DYN|IPCP_HISADDR_DYN); sp->ipcp.req_myaddr = 0; @@ -3360,6 +3380,7 @@ sppp_ipcp_close(struct sppp *sp, void *x { KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); sppp_close_event(sp, xcp); @@ -3850,6 +3871,7 @@ sppp_ipv6cp_open(struct sppp *sp, void * struct in6_addr myaddr, hisaddr; KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); #ifdef IPV6CP_MYIFID_DYN sp->ipv6cp.flags &= ~(IPV6CP_MYIFID_SEEN|IPV6CP_MYIFID_DYN); @@ -4795,6 +4817,8 @@ sppp_chap_rcv_challenge_event(struct spp { const struct cp *cp = xcp; + KASSERT(!cpu_softintr_p()); + sp->chap.rechallenging = false; switch (sp->scp[IDX_CHAP].state) { @@ -5193,6 +5217,7 @@ sppp_auth_to_event(struct sppp *sp, void STDDCL; KASSERT(SPPP_WLOCKED(sp)); + KASSERT(!cpu_softintr_p()); override = false; state = sp->scp[cp->protoidx].state;