diff options
author | Eric Dumazet <edumazet@google.com> | 2023-09-22 05:42:15 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-10-01 20:39:18 +0200 |
commit | ceaa714138a372ac63cc2c5c19ee0882d22827f9 (patch) | |
tree | 73b347539e9039e35d9ef9566cf38ec5e6cfb214 /net/ipv4/raw.c | |
parent | inet: implement lockless IP_MULTICAST_TTL (diff) | |
download | linux-ceaa714138a372ac63cc2c5c19ee0882d22827f9.tar.xz linux-ceaa714138a372ac63cc2c5c19ee0882d22827f9.zip |
inet: implement lockless IP_MTU_DISCOVER
inet->pmtudisc can be read locklessly.
Implement proper lockless reads and writes to inet->pmtudisc
ip_sock_set_mtu_discover() can now be called from arbitrary
contexts.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/raw.c')
-rw-r--r-- | net/ipv4/raw.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index 4b5db5d1edc2..ade1aecd7c71 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c @@ -239,7 +239,7 @@ static void raw_err(struct sock *sk, struct sk_buff *skb, u32 info) if (code > NR_ICMP_UNREACH) break; if (code == ICMP_FRAG_NEEDED) { - harderr = inet->pmtudisc != IP_PMTUDISC_DONT; + harderr = READ_ONCE(inet->pmtudisc) != IP_PMTUDISC_DONT; err = EMSGSIZE; } else { err = icmp_err_convert[code].errno; |