mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
icmp: Fix data-races around sysctl_icmp_echo_enable_probe.
While reading sysctl_icmp_echo_enable_probe, it can be changed concurrently. Thus, we need to add READ_ONCE() to its readers. Fixes:d329ea5bd8("icmp: add response to RFC 8335 PROBE messages") Fixes:1fd07f33c3("ipv6: ICMPV6: add response to ICMPV6 RFC 8335 PROBE messages") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
bb7bb35a63
commit
4a2f7083cc
@@ -1028,7 +1028,7 @@ bool icmp_build_probe(struct sk_buff *skb, struct icmphdr *icmphdr)
|
||||
u16 ident_len;
|
||||
u8 status;
|
||||
|
||||
if (!net->ipv4.sysctl_icmp_echo_enable_probe)
|
||||
if (!READ_ONCE(net->ipv4.sysctl_icmp_echo_enable_probe))
|
||||
return false;
|
||||
|
||||
/* We currently only support probing interfaces on the proxy node
|
||||
|
||||
@@ -925,7 +925,7 @@ static int icmpv6_rcv(struct sk_buff *skb)
|
||||
break;
|
||||
case ICMPV6_EXT_ECHO_REQUEST:
|
||||
if (!net->ipv6.sysctl.icmpv6_echo_ignore_all &&
|
||||
net->ipv4.sysctl_icmp_echo_enable_probe)
|
||||
READ_ONCE(net->ipv4.sysctl_icmp_echo_enable_probe))
|
||||
icmpv6_echo_reply(skb);
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user