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@

Reply via email to