Skip to content

Commit 7abf71f

Browse files
Dwyane-Yangregkh
authored andcommitted
mptcp: sockopt: set timestamp flags on subflow socket, not msk
commit 5f95c21 upstream. Both mptcp_setsockopt_sol_socket_tstamp() and mptcp_setsockopt_sol_socket_timestamping() iterate over subflows, acquire the subflow socket lock, but then erroneously pass the MPTCP msk socket to sock_set_timestamp() / sock_set_timestamping() instead of the subflow ssk. As a result, the timestamp flags are set on the wrong socket and have no effect on the actual subflows. Pass ssk instead of sk to both helpers. Fixes: 9061f24 ("mptcp: sockopt: propagate timestamp request to subflows") Cc: stable@vger.kernel.org Signed-off-by: Gang Yan <yangang@kylinos.cn> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20260427-net-mptcp-misc-fixes-7-1-rc2-v1-1-7432b7f279fa@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent db1e363 commit 7abf71f

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

net/mptcp/sockopt.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ static int mptcp_setsockopt_sol_socket_tstamp(struct mptcp_sock *msk, int optnam
161161
struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
162162
bool slow = lock_sock_fast(ssk);
163163

164-
sock_set_timestamp(sk, optname, !!val);
164+
sock_set_timestamp(ssk, optname, !!val);
165165
unlock_sock_fast(ssk, slow);
166166
}
167167

@@ -237,7 +237,7 @@ static int mptcp_setsockopt_sol_socket_timestamping(struct mptcp_sock *msk,
237237
struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
238238
bool slow = lock_sock_fast(ssk);
239239

240-
sock_set_timestamping(sk, optname, timestamping);
240+
sock_set_timestamping(ssk, optname, timestamping);
241241
unlock_sock_fast(ssk, slow);
242242
}
243243

0 commit comments

Comments
 (0)