]> err.no Git - linux-2.6/blobdiff - include/linux/netfilter_ipv4/ip_conntrack_core.h
[NETFILTER]: Fix multiple problems with the conntrack event cache
[linux-2.6] / include / linux / netfilter_ipv4 / ip_conntrack_core.h
index fbf6c3e41647c1cce0b755454c804f4f2087648b..dc4d2a0575de9c666ac45428b81d47e634ac1805 100644 (file)
@@ -44,18 +44,14 @@ static inline int ip_conntrack_confirm(struct sk_buff **pskb)
        struct ip_conntrack *ct = (struct ip_conntrack *)(*pskb)->nfct;
        int ret = NF_ACCEPT;
 
-       if (ct && !is_confirmed(ct))
-               ret = __ip_conntrack_confirm(pskb);
-       ip_conntrack_deliver_cached_events_for(ct);
-
+       if (ct) {
+               if (!is_confirmed(ct))
+                       ret = __ip_conntrack_confirm(pskb);
+               ip_ct_deliver_cached_events(ct);
+       }
        return ret;
 }
 
-#ifdef CONFIG_IP_NF_CONNTRACK_EVENTS
-struct ip_conntrack_ecache;
-extern void __ip_ct_deliver_cached_events(struct ip_conntrack_ecache *ec);
-#endif
-
 extern void __ip_ct_expect_unlink_destroy(struct ip_conntrack_expect *exp);
 
 extern struct list_head *ip_conntrack_hash;