decnet: RCU conversion and get rid of dev_base_lock
While tracking dev_base_lock users, I found decnet used it in dnet_select_source(), but for a wrong purpose: Writers only hold RTNL, not dev_base_lock, so readers must use RCU if they cannot use RTNL. Adds an rcu_head in struct dn_ifaddr and handle proper RCU management. Adds __rcu annotation in dn_route as well. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Steven Whitehouse <swhiteho@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
e4a7b93bd5
commit
fc766e4c49
@@ -1848,7 +1848,7 @@ unsigned dn_mss_from_pmtu(struct net_device *dev, int mtu)
|
||||
{
|
||||
unsigned mss = 230 - DN_MAX_NSP_DATA_HEADER;
|
||||
if (dev) {
|
||||
struct dn_dev *dn_db = dev->dn_ptr;
|
||||
struct dn_dev *dn_db = rcu_dereference_raw(dev->dn_ptr);
|
||||
mtu -= LL_RESERVED_SPACE(dev);
|
||||
if (dn_db->use_long)
|
||||
mtu -= 21;
|
||||
|
Reference in New Issue
Block a user