Module Name:    src
Committed By:   knakahara
Date:           Mon Jun 20 08:30:59 UTC 2016

Modified Files:
        src/sys/altq: altq_cbq.c altq_subr.c
        src/sys/kern: kern_pmf.c
        src/sys/net: if.c if_ecosubr.c if_spppsubr.c
        src/sys/net80211: ieee80211_output.c ieee80211_proto.c

Log Message:
apply if_start_lock() to L2 callers which call ifp->if_start() of device 
derivers


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/altq/altq_cbq.c
cvs rdiff -u -r1.31 -r1.32 src/sys/altq/altq_subr.c
cvs rdiff -u -r1.37 -r1.38 src/sys/kern/kern_pmf.c
cvs rdiff -u -r1.342 -r1.343 src/sys/net/if.c
cvs rdiff -u -r1.47 -r1.48 src/sys/net/if_ecosubr.c
cvs rdiff -u -r1.142 -r1.143 src/sys/net/if_spppsubr.c
cvs rdiff -u -r1.54 -r1.55 src/sys/net80211/ieee80211_output.c
cvs rdiff -u -r1.31 -r1.32 src/sys/net80211/ieee80211_proto.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/altq/altq_cbq.c
diff -u src/sys/altq/altq_cbq.c:1.29 src/sys/altq/altq_cbq.c:1.30
--- src/sys/altq/altq_cbq.c:1.29	Wed Apr 20 08:58:48 2016
+++ src/sys/altq/altq_cbq.c	Mon Jun 20 08:30:58 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: altq_cbq.c,v 1.29 2016/04/20 08:58:48 knakahara Exp $	*/
+/*	$NetBSD: altq_cbq.c,v 1.30 2016/06/20 08:30:58 knakahara Exp $	*/
 /*	$KAME: altq_cbq.c,v 1.21 2005/04/13 03:44:24 suz Exp $	*/
 
 /*
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_cbq.c,v 1.29 2016/04/20 08:58:48 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_cbq.c,v 1.30 2016/06/20 08:30:58 knakahara Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_altq.h"
@@ -592,7 +592,7 @@ cbqrestart(struct ifaltq *ifq)
 	ifp = ifq->altq_ifp;
 	if (ifp->if_start &&
 	    cbqp->cbq_qlen > 0 && (ifp->if_flags & IFF_OACTIVE) == 0)
-		(*ifp->if_start)(ifp);
+		if_start_lock(ifp);
 }
 
 static void

Index: src/sys/altq/altq_subr.c
diff -u src/sys/altq/altq_subr.c:1.31 src/sys/altq/altq_subr.c:1.32
--- src/sys/altq/altq_subr.c:1.31	Thu May 12 02:24:16 2016
+++ src/sys/altq/altq_subr.c	Mon Jun 20 08:30:58 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: altq_subr.c,v 1.31 2016/05/12 02:24:16 ozaki-r Exp $	*/
+/*	$NetBSD: altq_subr.c,v 1.32 2016/06/20 08:30:58 knakahara Exp $	*/
 /*	$KAME: altq_subr.c,v 1.24 2005/04/13 03:44:25 suz Exp $	*/
 
 /*
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_subr.c,v 1.31 2016/05/12 02:24:16 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_subr.c,v 1.32 2016/06/20 08:30:58 knakahara Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_altq.h"
@@ -366,7 +366,7 @@ tbr_timeout(void *arg)
 		active++;
 		if (!IFQ_IS_EMPTY(&ifp->if_snd) && ifp->if_start != NULL) {
 			int _s = splnet();
-			(*ifp->if_start)(ifp);
+			if_start_lock(ifp);
 			splx(_s);
 		}
 

Index: src/sys/kern/kern_pmf.c
diff -u src/sys/kern/kern_pmf.c:1.37 src/sys/kern/kern_pmf.c:1.38
--- src/sys/kern/kern_pmf.c:1.37	Fri Feb 13 13:26:50 2015
+++ src/sys/kern/kern_pmf.c	Mon Jun 20 08:30:58 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_pmf.c,v 1.37 2015/02/13 13:26:50 maxv Exp $ */
+/* $NetBSD: kern_pmf.c,v 1.38 2016/06/20 08:30:58 knakahara Exp $ */
 
 /*-
  * Copyright (c) 2007 Jared D. McNeill <jmcne...@invisible.ca>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_pmf.c,v 1.37 2015/02/13 13:26:50 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_pmf.c,v 1.38 2016/06/20 08:30:58 knakahara Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -911,7 +911,7 @@ pmf_class_network_resume(device_t dev, c
 		ifp->if_flags &= ~IFF_RUNNING;
 		if ((*ifp->if_init)(ifp) != 0)
 			aprint_normal_ifnet(ifp, "resume failed\n");
-		(*ifp->if_start)(ifp);
+		if_start_lock(ifp);
 	}
 	splx(s);
 

Index: src/sys/net/if.c
diff -u src/sys/net/if.c:1.342 src/sys/net/if.c:1.343
--- src/sys/net/if.c:1.342	Mon Jun 20 06:41:30 2016
+++ src/sys/net/if.c	Mon Jun 20 08:30:58 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: if.c,v 1.342 2016/06/20 06:41:30 ozaki-r Exp $	*/
+/*	$NetBSD: if.c,v 1.343 2016/06/20 08:30:58 knakahara Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2008 The NetBSD Foundation, Inc.
@@ -90,7 +90,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.342 2016/06/20 06:41:30 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.343 2016/06/20 08:30:58 knakahara Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_inet.h"
@@ -2787,7 +2787,7 @@ if_transmit(struct ifnet *ifp, struct mb
 		ifp->if_omcasts++;
 
 	if ((ifp->if_flags & IFF_OACTIVE) == 0)
-		(*ifp->if_start)(ifp);
+		if_start_lock(ifp);
 out:
 	splx(s);
 

Index: src/sys/net/if_ecosubr.c
diff -u src/sys/net/if_ecosubr.c:1.47 src/sys/net/if_ecosubr.c:1.48
--- src/sys/net/if_ecosubr.c:1.47	Mon Jun 20 06:46:37 2016
+++ src/sys/net/if_ecosubr.c	Mon Jun 20 08:30:58 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_ecosubr.c,v 1.47 2016/06/20 06:46:37 knakahara Exp $	*/
+/*	$NetBSD: if_ecosubr.c,v 1.48 2016/06/20 08:30:58 knakahara Exp $	*/
 
 /*-
  * Copyright (c) 2001 Ben Harris
@@ -58,7 +58,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ecosubr.c,v 1.47 2016/06/20 06:46:37 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ecosubr.c,v 1.48 2016/06/20 08:30:58 knakahara Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -782,7 +782,7 @@ eco_inputidle(struct ifnet *ifp)
 		break;
 	}
 	ec->ec_state = ECO_IDLE;
-	ifp->if_start(ifp);
+	if_start_lock(ifp);
 }
 
 /*

Index: src/sys/net/if_spppsubr.c
diff -u src/sys/net/if_spppsubr.c:1.142 src/sys/net/if_spppsubr.c:1.143
--- src/sys/net/if_spppsubr.c:1.142	Fri Jun 10 13:27:16 2016
+++ src/sys/net/if_spppsubr.c	Mon Jun 20 08:30:59 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_spppsubr.c,v 1.142 2016/06/10 13:27:16 ozaki-r Exp $	 */
+/*	$NetBSD: if_spppsubr.c,v 1.143 2016/06/20 08:30:59 knakahara Exp $	 */
 
 /*
  * Synchronous PPP/Cisco link level subroutines.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.142 2016/06/10 13:27:16 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.143 2016/06/20 08:30:59 knakahara Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_inet.h"
@@ -832,7 +832,7 @@ sppp_output(struct ifnet *ifp, struct mb
 		 * framing according to RFC 1333.
 		 */
 		if (!(ifp->if_flags & IFF_OACTIVE))
-			(*ifp->if_start)(ifp);
+			if_start_lock(ifp);
 		ifp->if_obytes += m->m_pkthdr.len + sp->pp_framebytes;
 	}
 	splx(s);
@@ -1214,7 +1214,7 @@ sppp_cisco_send(struct sppp *sp, int typ
 	} else
 		IF_ENQUEUE(&sp->pp_cpq, m);
 	if (! (ifp->if_flags & IFF_OACTIVE))
-		(*ifp->if_start)(ifp);
+		if_start_lock(ifp);
 	ifp->if_obytes += m->m_pkthdr.len + sp->pp_framebytes;
 }
 
@@ -1279,7 +1279,7 @@ sppp_cp_send(struct sppp *sp, u_short pr
 	} else
 		IF_ENQUEUE(&sp->pp_cpq, m);
 	if (! (ifp->if_flags & IFF_OACTIVE))
-		(*ifp->if_start)(ifp);
+		if_start_lock(ifp);
 	ifp->if_obytes += m->m_pkthdr.len + sp->pp_framebytes;
 }
 
@@ -4715,7 +4715,7 @@ sppp_auth_send(const struct cp *cp, stru
 	} else
 		IF_ENQUEUE(&sp->pp_cpq, m);
 	if (! (ifp->if_flags & IFF_OACTIVE))
-		(*ifp->if_start)(ifp);
+		if_start_lock(ifp);
 	ifp->if_obytes += m->m_pkthdr.len + 3;
 }
 

Index: src/sys/net80211/ieee80211_output.c
diff -u src/sys/net80211/ieee80211_output.c:1.54 src/sys/net80211/ieee80211_output.c:1.55
--- src/sys/net80211/ieee80211_output.c:1.54	Mon May 16 09:53:59 2016
+++ src/sys/net80211/ieee80211_output.c	Mon Jun 20 08:30:59 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: ieee80211_output.c,v 1.54 2016/05/16 09:53:59 ozaki-r Exp $	*/
+/*	$NetBSD: ieee80211_output.c,v 1.55 2016/06/20 08:30:59 knakahara Exp $	*/
 /*-
  * Copyright (c) 2001 Atsushi Onoe
  * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
@@ -36,7 +36,7 @@
 __FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.34 2005/08/10 16:22:29 sam Exp $");
 #endif
 #ifdef __NetBSD__
-__KERNEL_RCSID(0, "$NetBSD: ieee80211_output.c,v 1.54 2016/05/16 09:53:59 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ieee80211_output.c,v 1.55 2016/06/20 08:30:59 knakahara Exp $");
 #endif
 
 #ifdef _KERNEL_OPT
@@ -221,7 +221,7 @@ ieee80211_mgmt_output(struct ieee80211co
 		ic->ic_mgt_timer = timer;
 		ifp->if_timer = 1;
 	}
-	(*ifp->if_start)(ifp);
+	if_start_lock(ifp);
 	return 0;
 }
 
@@ -268,7 +268,7 @@ ieee80211_send_nulldata(struct ieee80211
 	    wh->i_fc[1] & IEEE80211_FC1_PWR_MGT ? "ena" : "dis");
 
 	IF_ENQUEUE(&ic->ic_mgtq, m);		/* cheat */
-	(*ifp->if_start)(ifp);
+	if_start_lock(ifp);
 
 	return 0;
 }
@@ -1362,7 +1362,7 @@ ieee80211_send_probereq(struct ieee80211
 	    ieee80211_chan2ieee(ic, ic->ic_curchan));
 
 	IF_ENQUEUE(&ic->ic_mgtq, m);
-	(*ic->ic_ifp->if_start)(ic->ic_ifp);
+	if_start_lock(ic->ic_ifp);
 	return 0;
 }
 

Index: src/sys/net80211/ieee80211_proto.c
diff -u src/sys/net80211/ieee80211_proto.c:1.31 src/sys/net80211/ieee80211_proto.c:1.32
--- src/sys/net80211/ieee80211_proto.c:1.31	Mon Aug 24 22:21:26 2015
+++ src/sys/net80211/ieee80211_proto.c	Mon Jun 20 08:30:59 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: ieee80211_proto.c,v 1.31 2015/08/24 22:21:26 pooka Exp $	*/
+/*	$NetBSD: ieee80211_proto.c,v 1.32 2016/06/20 08:30:59 knakahara Exp $	*/
 /*-
  * Copyright (c) 2001 Atsushi Onoe
  * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
@@ -36,7 +36,7 @@
 __FBSDID("$FreeBSD: src/sys/net80211/ieee80211_proto.c,v 1.23 2005/08/10 16:22:29 sam Exp $");
 #endif
 #ifdef __NetBSD__
-__KERNEL_RCSID(0, "$NetBSD: ieee80211_proto.c,v 1.31 2015/08/24 22:21:26 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ieee80211_proto.c,v 1.32 2016/06/20 08:30:59 knakahara Exp $");
 #endif
 
 /*
@@ -1121,7 +1121,7 @@ ieee80211_newstate(struct ieee80211com *
 			if (ic->ic_opmode == IEEE80211_M_STA)
 				ieee80211_notify_node_join(ic, ni, 
 					arg == IEEE80211_FC0_SUBTYPE_ASSOC_RESP);
-			(*ifp->if_start)(ifp);	/* XXX not authorized yet */
+			if_start_lock(ifp);	/* XXX not authorized yet */
 			break;
 		}
 		/*

Reply via email to