diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c index 937bd4c55615..30374fd44228 100644 --- a/net/mptcp/sockopt.c +++ b/net/mptcp/sockopt.c @@ -735,8 +735,11 @@ static int mptcp_setsockopt_v4_set_tos(struct mptcp_sock *msk, int optname, val = inet_sk(sk)->tos; mptcp_for_each_subflow(msk, subflow) { struct sock *ssk = mptcp_subflow_tcp_sock(subflow); + bool slow; + slow = lock_sock_fast(ssk); __ip_sock_set_tos(ssk, val); + unlock_sock_fast(ssk, slow); } release_sock(sk);