Fix assertion for write netlock in rip6_input(). ip6_input() has
authorbluhm <bluhm@openbsd.org>
Sun, 24 Jul 2022 22:38:25 +0000 (22:38 +0000)
committerbluhm <bluhm@openbsd.org>
Sun, 24 Jul 2022 22:38:25 +0000 (22:38 +0000)
commitf96d279d4c66be56e70904f46cd640e2da8d669b
tree3dee3285ca471987bef18fa3e54ad1c6edf6155b
parent1a8fb6a1e2c379f6565adc7816377fe4a31667b1
Fix assertion for write netlock in rip6_input().  ip6_input() has
shared net lock.  ip_deliver() needs exclusive net lock.  Instead
of calling ip_deliver() directly, use ip6_ours() to queue the packet.
Move the write lock assertion into ip_deliver() to catch such bugs
earlier.
The assertion was only triggered with IPv6 multicast forwarding or
router alert hop by hop option.  Found by regress test.
OK kn@ mvs@
sys/netinet/ip_input.c
sys/netinet6/ip6_input.c