diff options
author | Eric Dumazet <edumazet@google.com> | 2023-03-15 20:57:41 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-03-17 08:25:05 +0000 |
commit | cee1af825d65b8122627fc2efbc36c1bd51ee103 (patch) | |
tree | 0ac92afa20149068ef410606e944163ba6a80a14 /net/ipv4/tcp_ipv4.c | |
parent | 731b73dba359e3ff00517c13aa0daa82b34ff466 (diff) | |
download | linux-cee1af825d65b8122627fc2efbc36c1bd51ee103.tar.gz linux-cee1af825d65b8122627fc2efbc36c1bd51ee103.tar.bz2 linux-cee1af825d65b8122627fc2efbc36c1bd51ee103.zip |
tcp: annotate lockless accesses to sk->sk_err_soft
This field can be read/written without lock synchronization.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index ea370afa70ed..4f6894469b62 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -361,7 +361,7 @@ void tcp_v4_mtu_reduced(struct sock *sk) * for the case, if this connection will not able to recover. */ if (mtu < dst_mtu(dst) && ip_dont_fragment(sk, dst)) - sk->sk_err_soft = EMSGSIZE; + WRITE_ONCE(sk->sk_err_soft, EMSGSIZE); mtu = dst_mtu(dst); @@ -602,7 +602,7 @@ int tcp_v4_err(struct sk_buff *skb, u32 info) tcp_done(sk); } else { - sk->sk_err_soft = err; + WRITE_ONCE(sk->sk_err_soft, err); } goto out; } @@ -628,7 +628,7 @@ int tcp_v4_err(struct sk_buff *skb, u32 info) sk->sk_err = err; sk_error_report(sk); } else { /* Only an error on timeout */ - sk->sk_err_soft = err; + WRITE_ONCE(sk->sk_err_soft, err); } out: |