From: Hadar Hen Zion <had...@mellanox.com> Date: Tue, 10 Jan 2017 16:22:51 +0200
> While the documentation in neighbour.c says: > > "Neighbour entries are protected: > - with reference count. > - with rwlock neigh->lock > Reference count prevents destruction. > neigh->lock mainly serializes ll address data and its validity state." > > So what is the right way to protect the neigh entry parameters? I > couldn't find why rcu_read_lock() is helping here (dst_neigh_lookup > already takes a reference on the neigh). Documentation is, unfortunately, out of date. When there is a mis-match, usually the behavior of the code in the tree trumps whatever the documentation says.