NDP prefix list locking

Dheeraj Kandula dkandula at gmail.com
Wed Mar 13 05:55:11 UTC 2013


Hi Mark,
    In the patch that you provided to freebsd-net,
http://lists.freebsd.org/pipermail/freebsd-net/2013-February/034695.html, I
have a question.

nd6_timer() acquires the write lock using ND_DEFRTR_WLOCK. However,
defrouter_select again tries to acquire a read lock using ND_DEFRTR_RLOCK.
This will lead to a deadlock as the read lock can't be acquired as the
write lock is already acquired.

The solution is to check if the write lock is already acquired. If not the
read lock can be acquired, else there is no need to acquire the read lock.

Can you share your thoughts on the same.

Dheeraj


More information about the freebsd-net mailing list