diff options
author | Tony Lindgren <tony@atomide.com> | 2010-06-28 15:47:04 +0300 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-06-28 15:47:04 +0300 |
commit | 41bd03ba0758a076671e5de35ed084535984143d (patch) | |
tree | 9a669f9f1f52996b38acb077655e4b044bba67c7 /net/ipv6/ip6mr.c | |
parent | 090830b4c79cd5ac85430822a9b87c90848bedcf (diff) | |
parent | dc75925d67950889b79df1cc1518c21ec678df6c (diff) | |
download | blackbird-op-linux-41bd03ba0758a076671e5de35ed084535984143d.tar.gz blackbird-op-linux-41bd03ba0758a076671e5de35ed084535984143d.zip |
Merge branch 'for_2.6.35rc' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus
Diffstat (limited to 'net/ipv6/ip6mr.c')
-rw-r--r-- | net/ipv6/ip6mr.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 073071f2b75b..66078dad7fe8 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c @@ -120,7 +120,7 @@ static void mroute_clean_tables(struct mr6_table *mrt); static void ipmr_expire_process(unsigned long arg); #ifdef CONFIG_IPV6_MROUTE_MULTIPLE_TABLES -#define ip6mr_for_each_table(mrt, met) \ +#define ip6mr_for_each_table(mrt, net) \ list_for_each_entry_rcu(mrt, &net->ipv6.mr6_tables, list) static struct mr6_table *ip6mr_get_table(struct net *net, u32 id) @@ -254,8 +254,10 @@ static void __net_exit ip6mr_rules_exit(struct net *net) { struct mr6_table *mrt, *next; - list_for_each_entry_safe(mrt, next, &net->ipv6.mr6_tables, list) + list_for_each_entry_safe(mrt, next, &net->ipv6.mr6_tables, list) { + list_del(&mrt->list); ip6mr_free_table(mrt); + } fib_rules_unregister(net->ipv6.mr6_rules_ops); } #else |