CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2025/09/12 17:02:36
Modified files:
sys/netinet6 : nd6.c nd6.h
Log message:
Iterate over ND6 llinfo list without net lock.
Make looping over llinfo list in nd6_timer() and nd6_purge() MP
safe. Use an iterator like in ARP timer. With that traversal will
not interfere with any inserts into or removes from the list. In
nd6_timer() take net lock only after a timeout has occured. Between
releasing the mutex and grabbing the net lock, another thread may
free the ND6 entry. To avoid this race, check RTF_LLINFO in
nd6_llinfo_timer() while holding the exclusive net lock.
OK mvs@