diff options
Diffstat (limited to 'net/ipv4/tcp_minisocks.c')
| -rw-r--r-- | net/ipv4/tcp_minisocks.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index 6234ebaa7db1..28ce5ee831f5 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c @@ -532,7 +532,7 @@ struct sock *tcp_create_openreq_child(const struct sock *sk,  			newtp->rx_opt.ts_recent_stamp = 0;  			newtp->tcp_header_len = sizeof(struct tcphdr);  		} -		newtp->tsoffset = 0; +		newtp->tsoffset = treq->ts_off;  #ifdef CONFIG_TCP_MD5SIG  		newtp->md5sig_info = NULL;	/*XXX*/  		if (newtp->af_specific->md5_lookup(sk, newsk)) @@ -581,6 +581,8 @@ struct sock *tcp_check_req(struct sock *sk, struct sk_buff *skb,  		if (tmp_opt.saw_tstamp) {  			tmp_opt.ts_recent = req->ts_recent; +			if (tmp_opt.rcv_tsecr) +				tmp_opt.rcv_tsecr -= tcp_rsk(req)->ts_off;  			/* We do not store true stamp, but it is not required,  			 * it can be estimated (approximately)  			 * from another data.  |