aboutsummaryrefslogtreecommitdiff
path: root/net/ipv4/tcp.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2017-10-04 12:02:51 +0800
committerAlex Shi <alex.shi@linaro.org>2017-10-04 12:02:51 +0800
commit95a8e64a288afaadb5e77210df0dfa02ffd0eb43 (patch)
tree3bedc7c74219d261d89a47307e9b519820637093 /net/ipv4/tcp.c
parent52e49f436844e374d67859cbfb2c9cc62eb7e59b (diff)
parent0e13335254d5d54933969dba1d7625f55e657f52 (diff)
Merge tag 'v3.18.72' into linux-linaro-lsk-v3.18lsk-v3.18-17.09
This is the 3.18.72 stable release
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r--net/ipv4/tcp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 458a4c046784..567f8860e722 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -2265,6 +2265,10 @@ int tcp_disconnect(struct sock *sk, int flags)
tcp_set_ca_state(sk, TCP_CA_Open);
tcp_clear_retrans(tp);
inet_csk_delack_init(sk);
+ /* Initialize rcv_mss to TCP_MIN_MSS to avoid division by 0
+ * issue in __tcp_select_window()
+ */
+ icsk->icsk_ack.rcv_mss = TCP_MIN_MSS;
tcp_init_send_head(sk);
memset(&tp->rx_opt, 0, sizeof(tp->rx_opt));
__sk_dst_reset(sk);