TCP_CLOSE_WAIT
case TCP_CLOSE_WAIT:
case TCP_CLOSE_WAIT:
tcp_set_state(sk, TCP_CLOSE_WAIT);
case TCP_CLOSE_WAIT:
case TCP_CLOSE_WAIT:
case TCP_CLOSE_WAIT:
if ((sk->sk_state == TCP_CLOSE_WAIT || sk->sk_state == TCP_CLOSE) &&
if (sk->sk_state == TCP_CLOSE_WAIT || sk->sk_state == TCP_CLOSE) {
sock->sk->sk_state != TCP_CLOSE_WAIT)
SCTP_SS_CLOSING = TCP_CLOSE_WAIT,
TCPF_CLOSE_WAIT = (1 << TCP_CLOSE_WAIT),
EM(TCP_CLOSE_WAIT) \
EM( TCP_CLOSE_WAIT, "CLOSE_WAIT" ) \
if (sk->sk_state != TCP_CLOSE_WAIT) {
case TCP_CLOSE_WAIT:
BUILD_BUG_ON((int)BPF_TCP_CLOSE_WAIT != (int)TCP_CLOSE_WAIT);
case TCP_CLOSE_WAIT:
if (oldstate == TCP_CLOSE_WAIT || oldstate == TCP_ESTABLISHED)
if (oldstate == TCP_ESTABLISHED || oldstate == TCP_CLOSE_WAIT)
[TCP_CLOSE_WAIT] = TCP_LAST_ACK | TCP_ACTION_FIN,
case TCP_CLOSE_WAIT:
tcp_set_state(sk, TCP_CLOSE_WAIT);
case TCP_CLOSE_WAIT:
case TCP_CLOSE_WAIT:
(ssk_state != TCP_CLOSE_WAIT ||
case TCP_CLOSE_WAIT:
case TCP_CLOSE_WAIT:
if (oldstate == TCP_ESTABLISHED || oldstate == TCP_CLOSE_WAIT)
[TCP_CLOSE_WAIT] = TCP_LAST_ACK | TCP_ACTION_FIN,
mptcp_set_state(sk, TCP_CLOSE_WAIT);
(ssk->sk_state != TCP_CLOSE_WAIT ||
if (sk->sk_state == TCP_CLOSE_WAIT) {
if (sk->sk_state == TCP_CLOSE_WAIT) {
if (err == -ENOTCONN && sk->sk_state == TCP_CLOSE_WAIT)
BUG_ON(sk->sk_state == TCP_CLOSE_WAIT);
sk->sk_state = TCP_CLOSE_WAIT;
sk->sk_state = TCP_CLOSE_WAIT;
sk->sk_state = TCP_CLOSE_WAIT;
if (sknode->sk_state == TCP_CLOSE_WAIT)
else if (sk->sk_state == TCP_CLOSE_WAIT)
if (!mask && sk->sk_state == TCP_CLOSE_WAIT)
sk->sk_state == TCP_CLOSE_WAIT ||
case TCP_CLOSE_WAIT:
if (READ_ONCE(sk->sk_state) == TCP_CLOSE_WAIT ||
case TCP_CLOSE_WAIT:
case TCP_CLOSE_WAIT:
TIPC_DISCONNECTING = TCP_CLOSE_WAIT,