|
@@ -646,6 +646,7 @@ static int nf_ct_resolve_clash(struct net *net, struct sk_buff *skb,
|
|
|
|
|
|
l4proto = __nf_ct_l4proto_find(nf_ct_l3num(ct), nf_ct_protonum(ct));
|
|
l4proto = __nf_ct_l4proto_find(nf_ct_l3num(ct), nf_ct_protonum(ct));
|
|
if (l4proto->allow_clash &&
|
|
if (l4proto->allow_clash &&
|
|
|
|
+ !nfct_nat(ct) &&
|
|
!nf_ct_is_dying(ct) &&
|
|
!nf_ct_is_dying(ct) &&
|
|
atomic_inc_not_zero(&ct->ct_general.use)) {
|
|
atomic_inc_not_zero(&ct->ct_general.use)) {
|
|
nf_ct_acct_merge(ct, ctinfo, (struct nf_conn *)skb->nfct);
|
|
nf_ct_acct_merge(ct, ctinfo, (struct nf_conn *)skb->nfct);
|