|
@@ -1334,6 +1334,7 @@ ctnetlink_create_conntrack(struct net *net, u16 zone,
|
|
struct nf_conn *ct;
|
|
struct nf_conn *ct;
|
|
int err = -EINVAL;
|
|
int err = -EINVAL;
|
|
struct nf_conntrack_helper *helper;
|
|
struct nf_conntrack_helper *helper;
|
|
|
|
+ struct nf_conn_tstamp *tstamp;
|
|
|
|
|
|
ct = nf_conntrack_alloc(net, zone, otuple, rtuple, GFP_ATOMIC);
|
|
ct = nf_conntrack_alloc(net, zone, otuple, rtuple, GFP_ATOMIC);
|
|
if (IS_ERR(ct))
|
|
if (IS_ERR(ct))
|
|
@@ -1451,6 +1452,9 @@ ctnetlink_create_conntrack(struct net *net, u16 zone,
|
|
__set_bit(IPS_EXPECTED_BIT, &ct->status);
|
|
__set_bit(IPS_EXPECTED_BIT, &ct->status);
|
|
ct->master = master_ct;
|
|
ct->master = master_ct;
|
|
}
|
|
}
|
|
|
|
+ tstamp = nf_conn_tstamp_find(ct);
|
|
|
|
+ if (tstamp)
|
|
|
|
+ tstamp->start = ktime_to_ns(ktime_get_real());
|
|
|
|
|
|
add_timer(&ct->timeout);
|
|
add_timer(&ct->timeout);
|
|
nf_conntrack_hash_insert(ct);
|
|
nf_conntrack_hash_insert(ct);
|