From: Eric Dumazet Date: Thu, 21 Aug 2025 14:19:01 +0000 (+0000) Subject: tcp: lockless TCP_MAXSEG option X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9217146fee49575dfe4ac9416587392fc31171f1;p=users%2Fwilly%2Fxarray.git 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 Reviewed-by: Neal Cardwell Link: https://patch.msgid.link/20250821141901.18839-3-edumazet@google.com Signed-off-by: Jakub Kicinski --- diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index a12d81e01b3f..99232903b03c 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -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;