Merge branch 'master' of /repos/git/net-next-2.6
authorPatrick McHardy <kaber@trash.net>
Tue, 15 Jun 2010 15:31:06 +0000 (17:31 +0200)
committerPatrick McHardy <kaber@trash.net>
Tue, 15 Jun 2010 15:31:06 +0000 (17:31 +0200)
Conflicts:
include/net/netfilter/xt_rateest.h
net/bridge/br_netfilter.c
net/netfilter/nf_conntrack_core.c

Signed-off-by: Patrick McHardy <kaber@trash.net>
1  2 
include/net/netfilter/nf_conntrack.h
include/net/netfilter/xt_rateest.h
net/bridge/br_netfilter.c
net/ipv4/netfilter.c
net/ipv4/netfilter/ip_tables.c
net/ipv6/netfilter/ip6_tables.c
net/netfilter/nf_conntrack_core.c
net/netfilter/xt_TEE.c

Simple merge
index b1d780e21ce3bf2b2089559fc1529083994d9331,5e1427795928541d3eb37bd3c46e87b4b90c434d..5a2978d1cb22ae8713d43688b74370e44727725e
@@@ -12,7 -5,11 +12,8 @@@ struct xt_rateest 
        struct hlist_node               list;
        char                            name[IFNAMSIZ];
        unsigned int                    refcnt;
 -      spinlock_t                      lock;
        struct gnet_estimator           params;
 -      struct gnet_stats_rate_est      rstats;
 -      struct gnet_stats_basic_packed  bstats;
+       struct rcu_head                 rcu;
  };
  
  extern struct xt_rateest *xt_rateest_lookup(const char *name);
index cbea5af24ce6b3cce4cfb77805692e620702e0c8,0685b2558ab507bcc976d2bbaa41169f23f28dc8..6bb6f7c9e6e1afe4b00fdfadc1caef68b01d1c7e
@@@ -244,7 -244,8 +244,7 @@@ static int br_nf_pre_routing_finish_ipv
                kfree_skb(skb);
                return 0;
        }
-       skb_dst_set_noref(skb, &rt->u.dst);
 -      dst_hold(&rt->dst);
 -      skb_dst_set(skb, &rt->dst);
++      skb_dst_set_noref(skb, &rt->dst);
  
        skb->dev = nf_bridge->physindev;
        nf_bridge_update_protocol(skb);
@@@ -395,7 -396,8 +395,7 @@@ bridged_dnat
                        kfree_skb(skb);
                        return 0;
                }
-               skb_dst_set_noref(skb, &rt->u.dst);
 -              dst_hold(&rt->dst);
 -              skb_dst_set(skb, &rt->dst);
++              skb_dst_set_noref(skb, &rt->dst);
        }
  
        skb->dev = nf_bridge->physindev;
Simple merge
Simple merge
Simple merge
index 9c661413b826b50bbebcceff360fcab4fa92a261,77288980fae017d8694df9d4c5efccd8b18d23b4..16b41b4e2a3c18a4b7979f19d51a91a9427761ae
@@@ -1383,14 -1361,11 +1381,13 @@@ static int nf_conntrack_init_init_net(v
                goto err_extend;
  #endif
        /* Set up fake conntrack: to never be deleted, not in any hashes */
 -      write_pnet(&nf_conntrack_untracked.ct_net, &init_net);
 -      atomic_set(&nf_conntrack_untracked.ct_general.use, 1);
 +      for_each_possible_cpu(cpu) {
 +              struct nf_conn *ct = &per_cpu(nf_conntrack_untracked, cpu);
 +              write_pnet(&ct->ct_net, &init_net);
 +              atomic_set(&ct->ct_general.use, 1);
 +      }
        /*  - and look it like as a confirmed connection */
 -      set_bit(IPS_CONFIRMED_BIT, &nf_conntrack_untracked.status);
 -
 +      nf_ct_untracked_status_or(IPS_CONFIRMED | IPS_UNTRACKED);
        return 0;
  
  #ifdef CONFIG_NF_CONNTRACK_ZONES
Simple merge