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@

Reply via email to