svn commit: r186053 - head/sys/netinet

Kip Macy kmacy at FreeBSD.org
Sat Dec 13 20:18:05 UTC 2008


Author: kmacy
Date: Sat Dec 13 20:18:05 2008
New Revision: 186053
URL: http://svn.freebsd.org/changeset/base/186053

Log:
  radix node head lock needs to be held when calling rnh_addaddr

Modified:
  head/sys/netinet/ip_fw2.c

Modified: head/sys/netinet/ip_fw2.c
==============================================================================
--- head/sys/netinet/ip_fw2.c	Sat Dec 13 20:16:03 2008	(r186052)
+++ head/sys/netinet/ip_fw2.c	Sat Dec 13 20:18:05 2008	(r186053)
@@ -1826,7 +1826,9 @@ add_table_entry(struct ip_fw_chain *ch, 
 	ent->mask.sin_addr.s_addr = htonl(mlen ? ~((1 << (32 - mlen)) - 1) : 0);
 	ent->addr.sin_addr.s_addr = addr & ent->mask.sin_addr.s_addr;
 	IPFW_WLOCK(ch);
+	RADIX_NODE_HEAD_LOCK(rnh);
 	if (rnh->rnh_addaddr(&ent->addr, &ent->mask, rnh, (void *)ent) ==
+	RADIX_NODE_HEAD_UNLOCK(rnh);
 	    NULL) {
 		IPFW_WUNLOCK(ch);
 		free(ent, M_IPFW_TBL);


More information about the svn-src-all mailing list