From: Eric Dumazet Date: Thu, 27 Mar 2014 14:19:19 +0000 (-0700) Subject: tcp: fix get_timewait4_sock() delay computation on 64bit X-Git-Tag: v3.13.10~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=569e4b6489af7e15a10c543b472356a1724a1491;p=thirdparty%2Fkernel%2Fstable.git tcp: fix get_timewait4_sock() delay computation on 64bit [ Upstream commit e2a1d3e47bb904082b758dec9d07edf241c45d05 ] 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 Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 0672139247510..1d7b9ddb94d0a 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -2629,7 +2629,7 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw, { __be32 dest, src; __u16 destp, srcp; - long delta = tw->tw_ttd - jiffies; + s32 delta = tw->tw_ttd - inet_tw_time_stamp(); dest = tw->tw_daddr; src = tw->tw_rcv_saddr;