This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / net / core / netfilter.c
index f8c1657..903f382 100644 (file)
@@ -676,7 +676,6 @@ int ip_route_me_harder(struct sk_buff **pskb)
 
        return 0;
 }
-EXPORT_SYMBOL(ip_route_me_harder);
 
 int skb_ip_make_writable(struct sk_buff **pskb, unsigned int writable_len)
 {
@@ -755,9 +754,10 @@ int nf_log_register(int pf, nf_logfn *logfn)
 
        /* Any setup of logging members must be done before
         * substituting pointer. */
+       smp_wmb();
        spin_lock(&nf_log_lock);
        if (!nf_logging[pf]) {
-               rcu_assign_pointer(nf_logging[pf], logfn);
+               nf_logging[pf] = logfn;
                ret = 0;
        }
        spin_unlock(&nf_log_lock);
@@ -805,21 +805,12 @@ EXPORT_SYMBOL(nf_log_register);
 EXPORT_SYMBOL(nf_log_unregister);
 EXPORT_SYMBOL(nf_log_packet);
 
-/* This does not belong here, but locally generated errors need it if connection
-   tracking in use: without this, connection may not be in hash table, and hence
-   manufactured ICMP or RST packets will not be associated with it. */
+/* This does not belong here, but ipt_REJECT needs it if connection
+   tracking in use: without this, connection may not be in hash table,
+   and hence manufactured ICMP or RST packets will not be associated
+   with it. */
 void (*ip_ct_attach)(struct sk_buff *, struct sk_buff *);
 
-void nf_ct_attach(struct sk_buff *new, struct sk_buff *skb)
-{
-       void (*attach)(struct sk_buff *, struct sk_buff *);
-
-       if (skb->nfct && (attach = ip_ct_attach) != NULL) {
-               mb(); /* Just to be sure: must be read before executing this */
-               attach(new, skb);
-       }
-}
-
 void __init netfilter_init(void)
 {
        int i, h;
@@ -831,7 +822,7 @@ void __init netfilter_init(void)
 }
 
 EXPORT_SYMBOL(ip_ct_attach);
-EXPORT_SYMBOL(nf_ct_attach);
+EXPORT_SYMBOL(ip_route_me_harder);
 EXPORT_SYMBOL(nf_getsockopt);
 EXPORT_SYMBOL(nf_hook_slow);
 EXPORT_SYMBOL(nf_hooks);