diff options
author | David S. Miller <davem@davemloft.net> | 2018-11-29 01:10:54 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-11-29 01:10:54 -0500 |
commit | e561bb29b650d2817d10a4858f1817836ed08399 (patch) | |
tree | 0bc92b5bb8a287a8e4a88732f3c64b56d126da58 /net/ipv4/tcp_input.c | |
parent | 62e3a931788223048120357ab3f29dcb55c5ef79 (diff) | |
parent | 60b548237fed4b4164bab13c994dd9615f6c4323 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Trivial conflict in net/core/filter.c, a locally computed
'sdif' is now an argument to the function.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index f32397890b6d..78752746a6e2 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -579,10 +579,12 @@ static inline void tcp_rcv_rtt_measure_ts(struct sock *sk, | |||
579 | u32 delta = tcp_time_stamp(tp) - tp->rx_opt.rcv_tsecr; | 579 | u32 delta = tcp_time_stamp(tp) - tp->rx_opt.rcv_tsecr; |
580 | u32 delta_us; | 580 | u32 delta_us; |
581 | 581 | ||
582 | if (!delta) | 582 | if (likely(delta < INT_MAX / (USEC_PER_SEC / TCP_TS_HZ))) { |
583 | delta = 1; | 583 | if (!delta) |
584 | delta_us = delta * (USEC_PER_SEC / TCP_TS_HZ); | 584 | delta = 1; |
585 | tcp_rcv_rtt_update(tp, delta_us, 0); | 585 | delta_us = delta * (USEC_PER_SEC / TCP_TS_HZ); |
586 | tcp_rcv_rtt_update(tp, delta_us, 0); | ||
587 | } | ||
586 | } | 588 | } |
587 | } | 589 | } |
588 | 590 | ||
@@ -2910,9 +2912,11 @@ static bool tcp_ack_update_rtt(struct sock *sk, const int flag, | |||
2910 | if (seq_rtt_us < 0 && tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr && | 2912 | if (seq_rtt_us < 0 && tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr && |
2911 | flag & FLAG_ACKED) { | 2913 | flag & FLAG_ACKED) { |
2912 | u32 delta = tcp_time_stamp(tp) - tp->rx_opt.rcv_tsecr; | 2914 | u32 delta = tcp_time_stamp(tp) - tp->rx_opt.rcv_tsecr; |
2913 | u32 delta_us = delta * (USEC_PER_SEC / TCP_TS_HZ); | ||
2914 | 2915 | ||
2915 | seq_rtt_us = ca_rtt_us = delta_us; | 2916 | if (likely(delta < INT_MAX / (USEC_PER_SEC / TCP_TS_HZ))) { |
2917 | seq_rtt_us = delta * (USEC_PER_SEC / TCP_TS_HZ); | ||
2918 | ca_rtt_us = seq_rtt_us; | ||
2919 | } | ||
2916 | } | 2920 | } |
2917 | rs->rtt_us = ca_rtt_us; /* RTT of last (S)ACKed packet (or -1) */ | 2921 | rs->rtt_us = ca_rtt_us; /* RTT of last (S)ACKed packet (or -1) */ |
2918 | if (seq_rtt_us < 0) | 2922 | if (seq_rtt_us < 0) |