diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 681b54e1f3a643..39ee5a10754470 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -4522,6 +4522,8 @@ void tcp_done(struct sock *sk) */ req = rcu_dereference_protected(tcp_sk(sk)->fastopen_rsk, 1); + WARN_ON_ONCE(sk->sk_state == TCP_CLOSE); + if (sk->sk_state == TCP_SYN_SENT || sk->sk_state == TCP_SYN_RECV) TCP_INC_STATS(sock_net(sk), TCP_MIB_ATTEMPTFAILS); diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 8e8dcfbc299382..c0832df3b0a3e2 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -982,7 +982,8 @@ static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk, WRITE_ONCE(msk->pm.remote_deny_join_id0, true); if (unlikely(!READ_ONCE(msk->pm.server_side))) - pr_warn_once("bogus mpc option on established client sk"); + /* DO-NOT-MERGE: use WARN i/o pr_warn: only for MPTCP export */ + WARN_ONCE(1, "bogus mpc option on established client sk"); set_fully_established: mptcp_data_lock((struct sock *)msk);