Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 358b1361 authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso Committed by Patrick McHardy
Browse files

netfilter: ctnetlink: fix timestamp support for new conntracks



This patch fixes the missing initialization of the start time if
the timestamp support is enabled.

libnetfilter_conntrack/utils# conntrack -E &
libnetfilter_conntrack/utils# ./conntrack_create
tcp      6 109 ESTABLISHED src=1.1.1.1 dst=2.2.2.2 sport=1025 dport=21 packets=0 bytes=0 [UNREPLIED] src=2.2.2.2 dst=1.1.1.1 sport=21 dport=1025 packets=0 bytes=0 mark=0 delta-time=1303296401 use=2

Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
parent a8a8a093
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -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);