tcp: lockless TCP_MAXSEG option

setsockopt(TCP_MAXSEG) writes over a field that does not need
socket lock protection anymore.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Neal Cardwell <ncardwell@google.com>
Link: https://patch.msgid.link/20250821141901.18839-3-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Eric Dumazet 2025-08-21 14:19:01 +00:00 committed by Jakub Kicinski
parent d5ffba0f25
commit 9217146fee

View File

@ -3890,15 +3890,13 @@ int do_tcp_setsockopt(struct sock *sk, int level, int optname,
WRITE_ONCE(inet_csk(sk)->icsk_delack_max, delack_max);
return 0;
}
case TCP_MAXSEG:
return tcp_sock_set_maxseg(sk, val);
}
sockopt_lock_sock(sk);
switch (optname) {
case TCP_MAXSEG:
err = tcp_sock_set_maxseg(sk, val);
break;
case TCP_NODELAY:
__tcp_sock_set_nodelay(sk, val);
break;