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;

Reply via email to