diff options
Diffstat (limited to 'net/mptcp/fastopen.c')
| -rw-r--r-- | net/mptcp/fastopen.c | 11 | 
1 files changed, 9 insertions, 2 deletions
diff --git a/net/mptcp/fastopen.c b/net/mptcp/fastopen.c index d237d142171c..bceaab8dd8e4 100644 --- a/net/mptcp/fastopen.c +++ b/net/mptcp/fastopen.c @@ -9,11 +9,18 @@  void mptcp_fastopen_subflow_synack_set_params(struct mptcp_subflow_context *subflow,  					      struct request_sock *req)  { -	struct sock *ssk = subflow->tcp_sock; -	struct sock *sk = subflow->conn; +	struct sock *sk, *ssk;  	struct sk_buff *skb;  	struct tcp_sock *tp; +	/* on early fallback the subflow context is deleted by +	 * subflow_syn_recv_sock() +	 */ +	if (!subflow) +		return; + +	ssk = subflow->tcp_sock; +	sk = subflow->conn;  	tp = tcp_sk(ssk);  	subflow->is_mptfo = 1;  |