netfilter: nf_conntrack: fix a race in __nf_conntrack_confirm against nf_ct_get_next_...
[safe/jmp/linux-2.6] / include / net / netfilter / nf_conntrack_core.h
index 5a449b4..3d7524f 100644 (file)
@@ -49,7 +49,8 @@ nf_ct_invert_tuple(struct nf_conntrack_tuple *inverse,
 
 /* Find a connection corresponding to a tuple. */
 extern struct nf_conntrack_tuple_hash *
-nf_conntrack_find_get(struct net *net, const struct nf_conntrack_tuple *tuple);
+nf_conntrack_find_get(struct net *net, u16 zone,
+                     const struct nf_conntrack_tuple *tuple);
 
 extern int __nf_conntrack_confirm(struct sk_buff *skb);
 
@@ -60,7 +61,7 @@ static inline int nf_conntrack_confirm(struct sk_buff *skb)
        int ret = NF_ACCEPT;
 
        if (ct && ct != &nf_conntrack_untracked) {
-               if (!nf_ct_is_confirmed(ct) && !nf_ct_is_dying(ct))
+               if (!nf_ct_is_confirmed(ct))
                        ret = __nf_conntrack_confirm(skb);
                if (likely(ret == NF_ACCEPT))
                        nf_ct_deliver_cached_events(ct);