On Wed, 8 Nov 2023, Paolo Abeni wrote:
> The mptcp implementation of the IP_TOS socket option uses the lockless
> variant of the TOS manipulation helper and does not hold suck lock at
(matttbe: please fix "such" typo when applying)
> the helper invocation time.
>
> Add the required locking.
>
> Fixes: ffcacff87cd6 ("mptcp: Support for IP_TOS for MPTCP setsockopt()")
> Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/457
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> ---
> net/mptcp/sockopt.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c
> index 8d485c40585a..cabe856b2a45 100644
> --- a/net/mptcp/sockopt.c
> +++ b/net/mptcp/sockopt.c
> @@ -738,8 +738,11 @@ static int mptcp_setsockopt_v4_set_tos(struct mptcp_sock *msk, int optname,
> val = READ_ONCE(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);
>
Looks good to me with commit message typo fix:
Reviewed-by: Mat Martineau <martineau@kernel.org>