diff options
| author | Eric Dumazet <[email protected]> | 2023-03-15 20:57:41 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2023-03-17 08:25:05 +0000 |
| commit | cee1af825d65b8122627fc2efbc36c1bd51ee103 (patch) | |
| tree | 0ac92afa20149068ef410606e944163ba6a80a14 /net/ipv4/tcp_ipv4.c | |
| parent | vlan: partially enable SIOCSHWTSTAMP in container (diff) | |
| download | kernel-cee1af825d65b8122627fc2efbc36c1bd51ee103.tar.gz kernel-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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
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: |
