Skip to content

Commit

Permalink
tcp_nv: fix division by zero in tcpnv_acked()
Browse files Browse the repository at this point in the history
Average RTT could become zero. This happened in real life at least twice.
This patch treats zero as 1us.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Acked-by: Lawrence Brakmo <Brakmo@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Konstantin Khlebnikov authored and David S. Miller committed Nov 2, 2017
1 parent 3a99df9 commit 4eebff2
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/ipv4/tcp_nv.c
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ static void tcpnv_acked(struct sock *sk, const struct ack_sample *sample)

/* rate in 100's bits per second */
rate64 = ((u64)sample->in_flight) * 8000000;
rate = (u32)div64_u64(rate64, (u64)(avg_rtt * 100));
rate = (u32)div64_u64(rate64, (u64)(avg_rtt ?: 1) * 100);

/* Remember the maximum rate seen during this RTT
* Note: It may be more than one RTT. This function should be
Expand Down

0 comments on commit 4eebff2

Please sign in to comment.