CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2025/09/02 05:39:13
Modified files:
sys/netinet : if_ether.c
Log message:
In ARP timer iterate over llinfo list without net lock.
Make looping over llinfo list in arptimer() MP safe. Use an iterator
like mvs@ has implemented it for pcb tailq. With that it will not
interfere when arptfree() removes any entry from the list. Take
net lock only after a timeout has occured. Between releasing the
mutex and grabbing the net lock, another thread may free the ARP
entry. To avoid this race, check RTF_LLINFO in arptfree() while
holding the exclusive net lock.
OK mvs@