Browse Source

tcp: fix get_timewait4_sock() delay computation on 64bit

It seems I missed one change in get_timewait4_sock() to compute
the remaining time before deletion of IPV4 timewait socket.

This could result in wrong output in /proc/net/tcp for tm->when field.

Fixes: 96f817fedec4 ("tcp: shrink tcp6_timewait_sock by one cache line")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric Dumazet 11 years ago
parent
commit
e2a1d3e47b
1 changed files with 1 additions and 1 deletions
  1. 1 1
      net/ipv4/tcp_ipv4.c

+ 1 - 1
net/ipv4/tcp_ipv4.c

@@ -2628,7 +2628,7 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw,
 {
 {
 	__be32 dest, src;
 	__be32 dest, src;
 	__u16 destp, srcp;
 	__u16 destp, srcp;
-	long delta = tw->tw_ttd - jiffies;
+	s32 delta = tw->tw_ttd - inet_tw_time_stamp();
 
 
 	dest  = tw->tw_daddr;
 	dest  = tw->tw_daddr;
 	src   = tw->tw_rcv_saddr;
 	src   = tw->tw_rcv_saddr;