Module Name:    src
Committed By:   ozaki-r
Date:           Mon Dec 11 03:29:21 UTC 2017

Modified Files:
        src/sys/net: if.c if.h if_bridge.c if_spppsubr.c if_vlan.c
        src/sys/rump/net/lib/libnetinet: netinet_component.c

Log Message:
Wrap if_ioctl_lock with IFNET_* macros (NFC)

Also if_ioctl_lock perhaps needs to be renamed to something because it's now
not just for ioctl...


To generate a diff of this commit:
cvs rdiff -u -r1.412 -r1.413 src/sys/net/if.c
cvs rdiff -u -r1.252 -r1.253 src/sys/net/if.h
cvs rdiff -u -r1.144 -r1.145 src/sys/net/if_bridge.c
cvs rdiff -u -r1.176 -r1.177 src/sys/net/if_spppsubr.c
cvs rdiff -u -r1.118 -r1.119 src/sys/net/if_vlan.c
cvs rdiff -u -r1.9 -r1.10 src/sys/rump/net/lib/libnetinet/netinet_component.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.c
diff -u src/sys/net/if.c:1.412 src/sys/net/if.c:1.413
--- src/sys/net/if.c:1.412	Mon Dec 11 03:25:45 2017
+++ src/sys/net/if.c	Mon Dec 11 03:29:20 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: if.c,v 1.412 2017/12/11 03:25:45 ozaki-r Exp $	*/
+/*	$NetBSD: if.c,v 1.413 2017/12/11 03:29:20 ozaki-r 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.412 2017/12/11 03:25:45 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.413 2017/12/11 03:29:20 ozaki-r Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_inet.h"
@@ -1313,9 +1313,9 @@ if_detach(struct ifnet *ifp)
 	s = splnet();
 
 	sysctl_teardown(&ifp->if_sysctl_log);
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 	if_deactivate(ifp);
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 
 	IFNET_GLOBAL_LOCK();
 	ifindex2ifnet[ifp->if_index] = NULL;
@@ -1604,9 +1604,9 @@ if_clone_destroy(const char *name)
 		return ENXIO;
 
 	/* We have to disable ioctls here */
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 	ifp->if_ioctl = if_nullioctl;
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 
 	/*
 	 * We cannot call ifc_destroy with holding ifp.
@@ -2486,7 +2486,7 @@ void
 if_down_locked(struct ifnet *ifp)
 {
 
-	KASSERT(mutex_owned(ifp->if_ioctl_lock));
+	KASSERT(IFNET_LOCKED(ifp));
 	_if_down(ifp);
 }
 
@@ -2499,9 +2499,9 @@ void
 if_down(struct ifnet *ifp)
 {
 
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 	if_down_locked(ifp);
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 }
 
 /*
@@ -2515,7 +2515,7 @@ if_up_locked(struct ifnet *ifp)
 #endif
 	struct domain *dp;
 
-	KASSERT(mutex_owned(ifp->if_ioctl_lock));
+	KASSERT(IFNET_LOCKED(ifp));
 
 	KASSERT(!if_is_deactivated(ifp));
 	ifp->if_flags |= IFF_UP;
@@ -2571,9 +2571,9 @@ void
 if_up(struct ifnet *ifp)
 {
 
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 	if_up_locked(ifp);
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 }
 
 /*
@@ -2588,7 +2588,7 @@ ifpromisc_locked(struct ifnet *ifp, int 
 	int pcount, ret = 0;
 	short nflags;
 
-	KASSERT(mutex_owned(ifp->if_ioctl_lock));
+	KASSERT(IFNET_LOCKED(ifp));
 
 	pcount = ifp->if_pcount;
 	if (pswitch) {
@@ -2619,9 +2619,9 @@ ifpromisc(struct ifnet *ifp, int pswitch
 {
 	int e;
 
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 	e = ifpromisc_locked(ifp, pswitch);
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 
 	return e;
 }
@@ -3195,7 +3195,7 @@ doifioctl(struct socket *so, u_long cmd,
 	oif_flags = ifp->if_flags;
 
 	KERNEL_LOCK_UNLESS_IFP_MPSAFE(ifp);
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 
 	error = (*ifp->if_ioctl)(ifp, cmd, data);
 	if (error != ENOTTY)
@@ -3226,7 +3226,7 @@ doifioctl(struct socket *so, u_long cmd,
 		ifreqn2o(oifr, ifr);
 #endif
 
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 	KERNEL_UNLOCK_UNLESS_IFP_MPSAFE(ifp);
 out:
 	if_put(ifp, &psref);
@@ -3484,7 +3484,7 @@ if_addr_init(ifnet_t *ifp, struct ifaddr
 {
 	int rc;
 
-	KASSERT(mutex_owned(ifp->if_ioctl_lock));
+	KASSERT(IFNET_LOCKED(ifp));
 	if (ifp->if_initaddr != NULL)
 		rc = (*ifp->if_initaddr)(ifp, ifa, src);
 	else if (src ||
@@ -3532,7 +3532,7 @@ if_flags_set(ifnet_t *ifp, const short f
 {
 	int rc;
 
-	KASSERT(mutex_owned(ifp->if_ioctl_lock));
+	KASSERT(IFNET_LOCKED(ifp));
 
 	if (ifp->if_setflags != NULL)
 		rc = (*ifp->if_setflags)(ifp, flags);

Index: src/sys/net/if.h
diff -u src/sys/net/if.h:1.252 src/sys/net/if.h:1.253
--- src/sys/net/if.h:1.252	Mon Dec 11 03:25:45 2017
+++ src/sys/net/if.h	Mon Dec 11 03:29:20 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: if.h,v 1.252 2017/12/11 03:25:45 ozaki-r Exp $	*/
+/*	$NetBSD: if.h,v 1.253 2017/12/11 03:29:20 ozaki-r Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -1227,6 +1227,10 @@ __END_DECLS
 		}							\
 	} while (0)
 
+#define IFNET_LOCK(ifp)		mutex_enter((ifp)->if_ioctl_lock)
+#define IFNET_UNLOCK(ifp)	mutex_exit((ifp)->if_ioctl_lock)
+#define IFNET_LOCKED(ifp)	mutex_owned((ifp)->if_ioctl_lock)
+
 extern struct pslist_head ifnet_pslist;
 extern kmutex_t ifnet_mtx;
 

Index: src/sys/net/if_bridge.c
diff -u src/sys/net/if_bridge.c:1.144 src/sys/net/if_bridge.c:1.145
--- src/sys/net/if_bridge.c:1.144	Fri Dec  8 04:03:51 2017
+++ src/sys/net/if_bridge.c	Mon Dec 11 03:29:20 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_bridge.c,v 1.144 2017/12/08 04:03:51 ozaki-r Exp $	*/
+/*	$NetBSD: if_bridge.c,v 1.145 2017/12/11 03:29:20 ozaki-r Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -80,7 +80,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.144 2017/12/08 04:03:51 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.145 2017/12/11 03:29:20 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_bridge_ipf.h"
@@ -772,9 +772,9 @@ bridge_ioctl_add(struct bridge_softc *sc
 		}
 		/* FALLTHROUGH */
 	case IFT_L2TP:
-		mutex_enter(ifs->if_ioctl_lock);
+		IFNET_LOCK(ifs);
 		error = ether_enable_vlan_mtu(ifs);
-		mutex_exit(ifs->if_ioctl_lock);
+		IFNET_UNLOCK(ifs);
 		if (error > 0)
 			goto out;
 		/*
@@ -856,9 +856,9 @@ bridge_ioctl_del(struct bridge_softc *sc
 		 * Don't call it with holding a spin lock.
 		 */
 		(void) ifpromisc(ifs, 0);
-		mutex_enter(ifs->if_ioctl_lock);
+		IFNET_LOCK(ifs);
 		(void) ether_disable_vlan_mtu(ifs);
-		mutex_exit(ifs->if_ioctl_lock);
+		IFNET_UNLOCK(ifs);
 		break;
 	default:
 #ifdef DIAGNOSTIC

Index: src/sys/net/if_spppsubr.c
diff -u src/sys/net/if_spppsubr.c:1.176 src/sys/net/if_spppsubr.c:1.177
--- src/sys/net/if_spppsubr.c:1.176	Thu Dec  7 03:16:24 2017
+++ src/sys/net/if_spppsubr.c	Mon Dec 11 03:29:20 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_spppsubr.c,v 1.176 2017/12/07 03:16:24 ozaki-r Exp $	 */
+/*	$NetBSD: if_spppsubr.c,v 1.177 2017/12/11 03:29:20 ozaki-r Exp $	 */
 
 /*
  * Synchronous PPP/Cisco link level subroutines.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.176 2017/12/07 03:16:24 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.177 2017/12/11 03:29:20 ozaki-r Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_inet.h"
@@ -5271,7 +5271,7 @@ sppp_set_ip_addrs_work(struct work *wk, 
 	uint32_t myaddr = 0, hisaddr = 0;
 	int s;
 
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 
 	/*
 	 * Pick the first AF_INET address from the list,
@@ -5336,7 +5336,7 @@ sppp_set_ip_addrs_work(struct work *wk, 
 			    ifp->if_xname, ifp->if_mtu);
 	}
 
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 
 	sppp_notify_con(sp);
 }
@@ -5369,7 +5369,7 @@ sppp_clear_ip_addrs_work(struct work *wk
 	struct sockaddr_in *si, *dest;
 	int s;
 
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 
 	/*
 	 * Pick the first AF_INET address from the list,
@@ -5421,7 +5421,7 @@ sppp_clear_ip_addrs_work(struct work *wk
 			    ifp->if_xname, ifp->if_mtu);
 	}
 
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 }
 
 static void
@@ -5539,7 +5539,7 @@ sppp_set_ip6_addr(struct sppp *sp, const
 	int s;
 	struct psref psref;
 
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 
 	/*
 	 * Pick the first link-local AF_INET6 address from the list,
@@ -5579,7 +5579,7 @@ sppp_set_ip6_addr(struct sppp *sp, const
 		ifa_release(ifa, &psref);
 	}
 
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 }
 #endif
 

Index: src/sys/net/if_vlan.c
diff -u src/sys/net/if_vlan.c:1.118 src/sys/net/if_vlan.c:1.119
--- src/sys/net/if_vlan.c:1.118	Fri Dec  8 04:03:51 2017
+++ src/sys/net/if_vlan.c	Mon Dec 11 03:29:20 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_vlan.c,v 1.118 2017/12/08 04:03:51 ozaki-r Exp $	*/
+/*	$NetBSD: if_vlan.c,v 1.119 2017/12/11 03:29:20 ozaki-r Exp $	*/
 
 /*-
  * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
@@ -78,7 +78,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.118 2017/12/08 04:03:51 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.119 2017/12/11 03:29:20 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -397,9 +397,9 @@ vlan_clone_destroy(struct ifnet *ifp)
 	LIST_REMOVE(ifv, ifv_list);
 	mutex_exit(&ifv_list.lock);
 
-	mutex_enter(ifp->if_ioctl_lock);
+	IFNET_LOCK(ifp);
 	vlan_unconfig(ifp);
-	mutex_exit(ifp->if_ioctl_lock);
+	IFNET_UNLOCK(ifp);
 	if_detach(ifp);
 
 	psref_target_destroy(&ifv->ifv_mib->ifvm_psref, ifvm_psref_class);
@@ -463,9 +463,9 @@ vlan_config(struct ifvlan *ifv, struct i
 		nmib->ifvm_mintu = ETHERMIN;
 
 		if (ec->ec_nvlans++ == 0) {
-			mutex_enter(p->if_ioctl_lock);
+			IFNET_LOCK(p);
 			error = ether_enable_vlan_mtu(p);
-			mutex_exit(p->if_ioctl_lock);
+			IFNET_UNLOCK(p);
 			if (error >= 0) {
 				if (error) {
 					ec->ec_nvlans--;
@@ -563,7 +563,7 @@ vlan_unconfig(struct ifnet *ifp)
 	struct ifvlan_linkmib *nmib = NULL;
 	int error;
 
-	KASSERT(mutex_owned(ifp->if_ioctl_lock));
+	KASSERT(IFNET_LOCKED(ifp));
 
 	nmib = kmem_alloc(sizeof(*nmib), KM_SLEEP);
 
@@ -583,7 +583,7 @@ vlan_unconfig_locked(struct ifvlan *ifv,
 	struct ifvlan_linkmib *omib;
 	int error = 0;
 
-	KASSERT(mutex_owned(ifp->if_ioctl_lock));
+	KASSERT(IFNET_LOCKED(ifp));
 	KASSERT(mutex_owned(&ifv->ifv_lock));
 
 	ifp->if_flags &= ~(IFF_UP|IFF_RUNNING);
@@ -613,9 +613,9 @@ vlan_unconfig_locked(struct ifvlan *ifv,
 	    {
 		struct ethercom *ec = (void *)p;
 		if (--ec->ec_nvlans == 0) {
-			mutex_enter(p->if_ioctl_lock);
+			IFNET_LOCK(p);
 			(void) ether_disable_vlan_mtu(p);
-			mutex_exit(p->if_ioctl_lock);
+			IFNET_UNLOCK(p);
 		}
 
 		ether_ifdetach(ifp);
@@ -829,8 +829,8 @@ vlan_ifdetach(struct ifnet *p)
 	LIST_FOREACH(ifv, &ifv_list.list, ifv_list) {
 		struct ifnet *ifp = &ifv->ifv_if;
 
-		/* Need if_ioctl_lock that must be held before ifv_lock. */
-		mutex_enter(ifp->if_ioctl_lock);
+		/* Need IFNET_LOCK that must be held before ifv_lock. */
+		IFNET_LOCK(ifp);
 		mutex_enter(&ifv->ifv_lock);
 		if (ifv->ifv_mib->ifvm_p == p) {
 			KASSERTMSG(i < cnt, "no memory for unconfig, parent=%s",
@@ -843,7 +843,7 @@ vlan_ifdetach(struct ifnet *p)
 
 		}
 		mutex_exit(&ifv->ifv_lock);
-		mutex_exit(ifp->if_ioctl_lock);
+		IFNET_UNLOCK(ifp);
 	}
 
 	mutex_exit(&ifv_list.lock);

Index: src/sys/rump/net/lib/libnetinet/netinet_component.c
diff -u src/sys/rump/net/lib/libnetinet/netinet_component.c:1.9 src/sys/rump/net/lib/libnetinet/netinet_component.c:1.10
--- src/sys/rump/net/lib/libnetinet/netinet_component.c:1.9	Thu Dec  7 03:16:25 2017
+++ src/sys/rump/net/lib/libnetinet/netinet_component.c	Mon Dec 11 03:29:20 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netinet_component.c,v 1.9 2017/12/07 03:16:25 ozaki-r Exp $	*/
+/*	$NetBSD: netinet_component.c,v 1.10 2017/12/11 03:29:20 ozaki-r Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netinet_component.c,v 1.9 2017/12/07 03:16:25 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netinet_component.c,v 1.10 2017/12/11 03:29:20 ozaki-r Exp $");
 
 #include <sys/param.h>
 #include <sys/domain.h>
@@ -94,9 +94,9 @@ RUMP_COMPONENT(RUMP_COMPONENT_NET_IFCFG)
 	sin->sin_len = sizeof(struct sockaddr_in);
 	sin->sin_addr.s_addr = inet_addr("127.255.255.255");
 
-	mutex_enter(lo0ifp->if_ioctl_lock);
+	IFNET_LOCK(lo0ifp);
 	in_control(so, SIOCAIFADDR, &ia, lo0ifp);
-	mutex_exit(lo0ifp->if_ioctl_lock);
+	IFNET_UNLOCK(lo0ifp);
 	if_up(lo0ifp);
 	soclose(so);
 }

Reply via email to