summaryrefslogtreecommitdiffstats
path: root/include/net/tcp.h
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2023-03-17 15:55:39 +0000
committerDavid S. Miller <davem@davemloft.net>2023-03-18 12:23:34 +0000
commite9d9da91548b21e189fcd0259a0f2d26d1afc509 (patch)
treefd943e26281cfd7a7e0948d1949d6e0009c19510 /include/net/tcp.h
parent403a40f2304d4730a780ab9d6a2b93d1e4ac39d2 (diff)
downloadlinux-stable-e9d9da91548b21e189fcd0259a0f2d26d1afc509.tar.gz
linux-stable-e9d9da91548b21e189fcd0259a0f2d26d1afc509.tar.bz2
linux-stable-e9d9da91548b21e189fcd0259a0f2d26d1afc509.zip
tcp: preserve const qualifier in tcp_sk()
We can change tcp_sk() to propagate its argument const qualifier, thanks to container_of_const(). We have two places where a const sock pointer has to be upgraded to a write one. We have been using const qualifier for lockless listeners to clearly identify points where writes could happen. Add tcp_sk_rw() helper to better document these. tcp_inbound_md5_hash(), __tcp_grow_window(), tcp_reset_check() and tcp_rack_reo_wnd() get an additional const qualififer for their @tp local variables. smc_check_reset_syn_req() also needs a similar change. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/tcp.h')
-rw-r--r--include/net/tcp.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index db9f828e9d1e..a0a91a988272 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -529,7 +529,7 @@ static inline void tcp_synq_overflow(const struct sock *sk)
last_overflow = READ_ONCE(tcp_sk(sk)->rx_opt.ts_recent_stamp);
if (!time_between32(now, last_overflow, last_overflow + HZ))
- WRITE_ONCE(tcp_sk(sk)->rx_opt.ts_recent_stamp, now);
+ WRITE_ONCE(tcp_sk_rw(sk)->rx_opt.ts_recent_stamp, now);
}
/* syncookies: no recent synqueue overflow on this listening socket? */