summaryrefslogtreecommitdiff
path: root/net/ipv4/tcp_timer.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-08-10 16:49:46 +0200
committerIngo Molnar <mingo@kernel.org>2017-08-10 16:49:46 +0200
commit636bf35880e5a79c2ecb10640137bbd9a4681cb7 (patch)
tree919ea9ac007b72acb92a99fb7e28c8238a69573f /net/ipv4/tcp_timer.c
parent276c87054751bb6adfa160a6e68e47b97592a897 (diff)
parent8d31f80eb38819e4f2905ad21c0e8998382a08f7 (diff)
Merge branch 'linus' into x86/platform, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/ipv4/tcp_timer.c')
-rw-r--r--net/ipv4/tcp_timer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
index c0feeeef962a..e906014890b6 100644
--- a/net/ipv4/tcp_timer.c
+++ b/net/ipv4/tcp_timer.c
@@ -652,7 +652,8 @@ static void tcp_keepalive_timer (unsigned long data)
goto death;
}
- if (!sock_flag(sk, SOCK_KEEPOPEN) || sk->sk_state == TCP_CLOSE)
+ if (!sock_flag(sk, SOCK_KEEPOPEN) ||
+ ((1 << sk->sk_state) & (TCPF_CLOSE | TCPF_SYN_SENT)))
goto out;
elapsed = keepalive_time_when(tp);