diff options
| author | Eric Dumazet <edumazet@google.com> | 2025-08-21 14:19:01 +0000 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-08-22 15:58:59 -0700 |
| commit | 9217146fee49575dfe4ac9416587392fc31171f1 (patch) | |
| tree | 872d306c59671201e58538bb5d6e1404bb4c7cf6 /net/ipv4/tcp.c | |
| parent | d5ffba0f254d29a13908d4510762b31d4247a94c (diff) | |
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>
Diffstat (limited to 'net/ipv4/tcp.c')
| -rw-r--r-- | net/ipv4/tcp.c | 6 |
1 files changed, 2 insertions, 4 deletions
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; |
