|
@@ -902,6 +902,7 @@ init_conntrack(struct net *net, struct nf_conn *tmpl,
|
|
ct, exp);
|
|
ct, exp);
|
|
/* Welcome, Mr. Bond. We've been expecting you... */
|
|
/* Welcome, Mr. Bond. We've been expecting you... */
|
|
__set_bit(IPS_EXPECTED_BIT, &ct->status);
|
|
__set_bit(IPS_EXPECTED_BIT, &ct->status);
|
|
|
|
+ /* exp->master safe, refcnt bumped in nf_ct_find_expectation */
|
|
ct->master = exp->master;
|
|
ct->master = exp->master;
|
|
if (exp->helper) {
|
|
if (exp->helper) {
|
|
help = nf_ct_helper_ext_add(ct, exp->helper,
|
|
help = nf_ct_helper_ext_add(ct, exp->helper,
|
|
@@ -916,7 +917,6 @@ init_conntrack(struct net *net, struct nf_conn *tmpl,
|
|
#ifdef CONFIG_NF_CONNTRACK_SECMARK
|
|
#ifdef CONFIG_NF_CONNTRACK_SECMARK
|
|
ct->secmark = exp->master->secmark;
|
|
ct->secmark = exp->master->secmark;
|
|
#endif
|
|
#endif
|
|
- nf_conntrack_get(&ct->master->ct_general);
|
|
|
|
NF_CT_STAT_INC(net, expect_new);
|
|
NF_CT_STAT_INC(net, expect_new);
|
|
} else {
|
|
} else {
|
|
__nf_ct_try_assign_helper(ct, tmpl, GFP_ATOMIC);
|
|
__nf_ct_try_assign_helper(ct, tmpl, GFP_ATOMIC);
|