| Submitter | Oliver |
|---|---|
| Date | Aug. 27, 2012, 9:44 a.m. |
| Message ID | <9863271.IqbmzeiTs3@gentoovm> |
| Download | mbox | patch |
| Permalink | /patch/180161/ |
| State | Not Applicable |
| Headers | show |
Comments
Patch
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c index 729f157..5c274f3 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c @@ -250,7 +250,8 @@ static void death_by_event(unsigned long ul_conntrack) struct nf_conn *ct = (void *)ul_conntrack; struct net *net = nf_ct_net(ct); - if (nf_conntrack_event(IPCT_DESTROY, ct) < 0) { + if (!test_bit(IPS_DYING_BIT, &ct->status) && + nf_conntrack_event(IPCT_DESTROY, ct) < 0) { /* bad luck, let's retry again */ ct->timeout.expires = jiffies + (random32() % net->ct.sysctl_events_retry_timeout);