svn commit: r191283 - head/sys/netgraph

Robert Watson rwatson at FreeBSD.org
Sun Apr 19 22:04:30 UTC 2009


Author: rwatson
Date: Sun Apr 19 22:04:29 2009
New Revision: 191283
URL: http://svn.freebsd.org/changeset/base/191283

Log:
  Lock interface address list when building a reply to NGM_EIFACE_GET_IFADDRS
  messages in ng_eiface.
  
  MFC after:	2 weeks

Modified:
  head/sys/netgraph/ng_eiface.c

Modified: head/sys/netgraph/ng_eiface.c
==============================================================================
--- head/sys/netgraph/ng_eiface.c	Sun Apr 19 22:02:14 2009	(r191282)
+++ head/sys/netgraph/ng_eiface.c	Sun Apr 19 22:04:29 2009	(r191283)
@@ -452,10 +452,12 @@ ng_eiface_rcvmsg(node_p node, item_p ite
 
 			/* Determine size of response and allocate it */
 			buflen = 0;
+			IF_ADDR_LOCK(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);
 				error = ENOMEM;
 				break;
 			}
@@ -474,6 +476,7 @@ ng_eiface_rcvmsg(node_p node, item_p ite
 				ptr += len;
 				buflen -= len;
 			}
+			IF_ADDR_UNLOCK(ifp);
 			break;
 		    }
 


More information about the svn-src-all mailing list