diff options
Diffstat (limited to 'net/ipv4/tcp_illinois.c')
| -rw-r--r-- | net/ipv4/tcp_illinois.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/net/ipv4/tcp_illinois.c b/net/ipv4/tcp_illinois.c index 813b43a76fe..834857f3c87 100644 --- a/net/ipv4/tcp_illinois.c +++ b/net/ipv4/tcp_illinois.c @@ -313,11 +313,13 @@ static void tcp_illinois_info(struct sock *sk, u32 ext,  			.tcpv_rttcnt = ca->cnt_rtt,  			.tcpv_minrtt = ca->base_rtt,  		}; -		u64 t = ca->sum_rtt; -		do_div(t, ca->cnt_rtt); -		info.tcpv_rtt = t; +		if (info.tcpv_rttcnt > 0) { +			u64 t = ca->sum_rtt; +			do_div(t, info.tcpv_rttcnt); +			info.tcpv_rtt = t; +		}  		nla_put(skb, INET_DIAG_VEGASINFO, sizeof(info), &info);  	}  }  |