Author: rwatson Date: Fri Jun 26 00:49:12 2009 New Revision: 195024 URL: http://svn.freebsd.org/changeset/base/195024
Log: Update Netgraph nodes to use if_addr_rlock()/if_addr_runlock() instead of IF_ADDR_LOCK()/IF_ADDR_UNLOCK() when iterating ifp->if_addrhead. MFC after: 6 weeks Modified: head/sys/netgraph/ng_eiface.c head/sys/netgraph/ng_iface.c Modified: head/sys/netgraph/ng_eiface.c ============================================================================== --- head/sys/netgraph/ng_eiface.c Fri Jun 26 00:46:50 2009 (r195023) +++ head/sys/netgraph/ng_eiface.c Fri Jun 26 00:49:12 2009 (r195024) @@ -466,12 +466,12 @@ ng_eiface_rcvmsg(node_p node, item_p ite /* Determine size of response and allocate it */ buflen = 0; - IF_ADDR_LOCK(ifp); + if_addr_rlock(ifp); TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) buflen += SA_SIZE(ifa->ifa_addr); NG_MKRESPONSE(resp, msg, buflen, M_NOWAIT); if (resp == NULL) { - IF_ADDR_UNLOCK(ifp); + if_addr_runlock(ifp); error = ENOMEM; break; } @@ -490,7 +490,7 @@ ng_eiface_rcvmsg(node_p node, item_p ite ptr += len; buflen -= len; } - IF_ADDR_UNLOCK(ifp); + if_addr_runlock(ifp); break; } Modified: head/sys/netgraph/ng_iface.c ============================================================================== --- head/sys/netgraph/ng_iface.c Fri Jun 26 00:46:50 2009 (r195023) +++ head/sys/netgraph/ng_iface.c Fri Jun 26 00:49:12 2009 (r195024) @@ -683,7 +683,7 @@ ng_iface_rcvmsg(node_p node, item_p item struct ifaddr *ifa; /* Return the first configured IP address */ - IF_ADDR_LOCK(ifp); + if_addr_rlock(ifp); TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { struct ng_cisco_ipaddr *ips; @@ -701,7 +701,7 @@ ng_iface_rcvmsg(node_p node, item_p item ifa->ifa_netmask)->sin_addr; break; } - IF_ADDR_UNLOCK(ifp); + if_addr_runlock(ifp); /* No IP addresses on this interface? */ if (ifa == NULL) _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"