| Submitter | Joerg Marx |
|---|---|
| Date | May 5, 2010, 2:46 p.m. |
| Message ID | <4BE184C1.7020402@secunet.com> |
| Download | mbox | patch |
| Permalink | /patch/51702/ |
| State | Not Applicable |
| Delegated to: | David Miller |
| Headers | show |
Comments
Patch
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c index 1374179..e2c8bfe 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c @@ -413,6 +413,11 @@ __nf_conntrack_confirm(struct sk_buff *skb) spin_lock_bh(&nf_conntrack_lock); + if (unlikely(nf_ct_is_dying(ct))) { + spin_unlock_bh(&nf_conntrack_lock); + return NF_ACCEPT; + } + /* See if there's one in the list already, including reverse: NAT could have grabbed it without realizing, since we're not in the hash. If there is, we lost race. */