Skip to content

Commit 7679d34

Browse files
Paolo Abenikuba-moo
authored andcommitted
mptcp: fix setsockopt(IP_TOS) subflow locking
The MPTCP implementation of the IP_TOS socket option uses the lockless variant of the TOS manipulation helper and does not hold such lock at the helper invocation time. Add the required locking. Fixes: ffcacff ("mptcp: Support for IP_TOS for MPTCP setsockopt()") Cc: stable@vger.kernel.org Closes: multipath-tcp/mptcp_net-next#457 Signed-off-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts <matttbe@kernel.org> Link: https://lore.kernel.org/r/20231114-upstream-net-20231113-mptcp-misc-fixes-6-7-rc2-v1-4-7b9cd6a7b7f4@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 8df220b commit 7679d34

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

net/mptcp/sockopt.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,8 +738,11 @@ static int mptcp_setsockopt_v4_set_tos(struct mptcp_sock *msk, int optname,
738738
val = READ_ONCE(inet_sk(sk)->tos);
739739
mptcp_for_each_subflow(msk, subflow) {
740740
struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
741+
bool slow;
741742

743+
slow = lock_sock_fast(ssk);
742744
__ip_sock_set_tos(ssk, val);
745+
unlock_sock_fast(ssk, slow);
743746
}
744747
release_sock(sk);
745748

0 commit comments

Comments
 (0)