Unlock sysctl net.inet.ip.redirect and net.inet6.ip6.redirect.
authorbluhm <bluhm@openbsd.org>
Fri, 19 Jul 2024 16:58:31 +0000 (16:58 +0000)
committerbluhm <bluhm@openbsd.org>
Fri, 19 Jul 2024 16:58:31 +0000 (16:58 +0000)
commit9c4c1a6ff154df900c0b48496cb7a09e1d2a98b8
tree94f95fb4fc1b71adab75f96fd68fe6f8d00c4e60
parent1847475460684e4251d673e6b1bceb1b38e699c3
Unlock sysctl net.inet.ip.redirect and net.inet6.ip6.redirect.

Variable ip and ip6 sendredirects is only read once during packet
processing.  Use atomic_load_int() to access the value in exactly
one read instruction.  No memory barriers needed as there is no
correlation with other values.
Sort the ip and ip6 checks, so the difference is easier to see.
Move access to global variable to the end.

OK mvs@
sys/netinet/ip_input.c
sys/netinet6/in6_proto.c
sys/netinet6/ip6_forward.c
sys/netinet6/ip6_input.c