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; } /*