@@ -71,10 +71,9 @@ static struct socket *__mptcp_fallback_to_tcp(struct mptcp_sock *msk,
return sock;
}
-/* if msk has a single subflow socket, and the mp_capable handshake is not
- * completed yet or has failed - that is, the socket is Not MP Capable,
- * returns it.
- * Otherwise returns NULL
+/* If msk has an initial subflow socket, and the MP_CAPABLE handshake has not
+ * completed yet or has failed, return the subflow socket.
+ * Otherwise return NULL.
*/
static struct socket *__mptcp_nmpc_socket(const struct mptcp_sock *msk)
{
@@ -139,7 +138,7 @@ static struct socket *__mptcp_socket_create(struct mptcp_sock *msk, int state)
msk->subflow = ssock;
subflow = mptcp_subflow_ctx(ssock->sk);
list_add(&subflow->node, &msk->conn_list);
- subflow->request_mptcp = 1; /* @@ if MPTCP enabled */
+ subflow->request_mptcp = 1;
set_state:
if (state != MPTCP_SAME_STATE)
@@ -841,7 +841,9 @@ int mptcp_subflow_create_socket(struct sock *sk, struct socket **new_sock)
return err;
lock_sock(sf->sk);
- /* kern socket do not acquire by default net ref, but TCP timer need it
+
+ /* kernel sockets do not by default acquire net ref, but TCP timer
+ * needs it.
*/
sf->sk->sk_net_refcnt = 1;
get_net(net);
@@ -871,6 +873,7 @@ static struct mptcp_subflow_context *subflow_create_ctx(struct sock *sk,
ctx = kzalloc(sizeof(*ctx), priority);
if (!ctx)
return NULL;
+
rcu_assign_pointer(icsk->icsk_ulp_data, ctx);
INIT_LIST_HEAD(&ctx->node);
squashto: Associate MPTCP context with TCP socket Signed-off-by: Peter Krystad <peter.krystad@linux.intel.com> --- net/mptcp/protocol.c | 9 ++++----- net/mptcp/subflow.c | 5 ++++- 2 files changed, 8 insertions(+), 6 deletions(-)