summaryrefslogtreecommitdiff
path: root/net/ipv4/tcp_ipv4.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2017-03-22 11:29:50 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-03-22 11:29:50 +0000
commit95bec76ac28eb83e6fe2408d38adaadea9629098 (patch)
tree2f02290f42a4d962c6b3d0e311972ee2fd419bfe /net/ipv4/tcp_ipv4.c
parent3c8e4a165aa024d9394b6f013d0003d41dfd1fb0 (diff)
parent2681a7853ad73bfebc3a683765a496bb283c6648 (diff)
tcp: fix various issues for sockets morphing to listen state
am: 2681a7853a Change-Id: I9dd8b9c075e54c8b5fbff08ff06dcd74c7e56d4a
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
-rw-r--r--net/ipv4/tcp_ipv4.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 8a41139ab84b..cc374b4630d0 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -271,10 +271,13 @@ EXPORT_SYMBOL(tcp_v4_connect);
*/
void tcp_v4_mtu_reduced(struct sock *sk)
{
- struct dst_entry *dst;
struct inet_sock *inet = inet_sk(sk);
- u32 mtu = tcp_sk(sk)->mtu_info;
+ struct dst_entry *dst;
+ u32 mtu;
+ if ((1 << sk->sk_state) & (TCPF_LISTEN | TCPF_CLOSE))
+ return;
+ mtu = tcp_sk(sk)->mtu_info;
dst = inet_csk_update_pmtu(sk, mtu);
if (!dst)
return;