IPv6 netfilter can use sychronize_net rather than depending on brlock diff -urN -X dontdiff linux-2.5/net/ipv6/netfilter/ip6_queue.c linux-2.5-nobrlock/net/ipv6/netfilter/ip6_queue.c --- linux-2.5/net/ipv6/netfilter/ip6_queue.c 2003-04-03 12:13:10.000000000 -0800 +++ linux-2.5-nobrlock/net/ipv6/netfilter/ip6_queue.c 2003-04-03 16:26:43.000000000 -0800 @@ -26,7 +26,6 @@ #include <linux/netfilter.h> #include <linux/netlink.h> #include <linux/spinlock.h> -#include <linux/brlock.h> #include <linux/sysctl.h> #include <linux/proc_fs.h> #include <net/sock.h> @@ -682,8 +681,7 @@ cleanup: nf_unregister_queue_handler(PF_INET6); - br_write_lock_bh(BR_NETPROTO_LOCK); - br_write_unlock_bh(BR_NETPROTO_LOCK); + synchronize_net(); ipq_flush(NF_DROP); cleanup_sysctl: - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html