|
@@ -2320,6 +2320,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);
|