Skip to content

Commit 6c714f1

Browse files
Florian Westphaldavem330
authored andcommitted
mptcp: pass subflow socket to a few helpers
Pass the first/initial subflow to the existing functions so they can pass this on to the notification handler that is added later in the series. Signed-off-by: Florian Westphal <[email protected]> Signed-off-by: Mat Martineau <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent b263b0d commit 6c714f1

File tree

5 files changed

+8
-8
lines changed

5 files changed

+8
-8
lines changed

net/mptcp/options.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,7 @@ static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk,
867867
clear_3rdack_retransmission(ssk);
868868
mptcp_pm_subflow_established(msk, subflow);
869869
} else {
870-
mptcp_pm_fully_established(msk);
870+
mptcp_pm_fully_established(msk, ssk, GFP_ATOMIC);
871871
}
872872
return true;
873873

net/mptcp/pm.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ int mptcp_pm_remove_subflow(struct mptcp_sock *msk, u8 local_id)
6868

6969
/* path manager event handlers */
7070

71-
void mptcp_pm_new_connection(struct mptcp_sock *msk, int server_side)
71+
void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side)
7272
{
7373
struct mptcp_pm_data *pm = &msk->pm;
7474

@@ -119,7 +119,7 @@ static bool mptcp_pm_schedule_work(struct mptcp_sock *msk,
119119
return true;
120120
}
121121

122-
void mptcp_pm_fully_established(struct mptcp_sock *msk)
122+
void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp)
123123
{
124124
struct mptcp_pm_data *pm = &msk->pm;
125125

net/mptcp/protocol.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3028,7 +3028,7 @@ void mptcp_finish_connect(struct sock *ssk)
30283028
WRITE_ONCE(msk->can_ack, 1);
30293029
WRITE_ONCE(msk->snd_una, msk->write_seq);
30303030

3031-
mptcp_pm_new_connection(msk, 0);
3031+
mptcp_pm_new_connection(msk, ssk, 0);
30323032

30333033
mptcp_rcv_space_init(msk, ssk);
30343034
}
@@ -3272,7 +3272,7 @@ static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
32723272
list_add(&subflow->node, &msk->conn_list);
32733273
sock_hold(msk->first);
32743274
if (mptcp_is_fully_established(newsk))
3275-
mptcp_pm_fully_established(msk);
3275+
mptcp_pm_fully_established(msk, msk->first, GFP_KERNEL);
32763276

32773277
mptcp_copy_inaddrs(newsk, msk->first);
32783278
mptcp_rcv_space_init(msk, msk->first);

net/mptcp/protocol.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -639,8 +639,8 @@ void mptcp_crypto_hmac_sha(u64 key1, u64 key2, u8 *msg, int len, void *hmac);
639639

640640
void __init mptcp_pm_init(void);
641641
void mptcp_pm_data_init(struct mptcp_sock *msk);
642-
void mptcp_pm_new_connection(struct mptcp_sock *msk, int server_side);
643-
void mptcp_pm_fully_established(struct mptcp_sock *msk);
642+
void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side);
643+
void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp);
644644
bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk);
645645
void mptcp_pm_connection_closed(struct mptcp_sock *msk);
646646
void mptcp_pm_subflow_established(struct mptcp_sock *msk,

net/mptcp/subflow.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -675,7 +675,7 @@ static struct sock *subflow_syn_recv_sock(const struct sock *sk,
675675
* created mptcp socket
676676
*/
677677
new_msk->sk_destruct = mptcp_sock_destruct;
678-
mptcp_pm_new_connection(mptcp_sk(new_msk), 1);
678+
mptcp_pm_new_connection(mptcp_sk(new_msk), child, 1);
679679
mptcp_token_accept(subflow_req, mptcp_sk(new_msk));
680680
ctx->conn = new_msk;
681681
new_msk = NULL;

0 commit comments

Comments
 (0)