Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c148fc2e authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

ipv4: inetdev_by_index() switch to RCU



Use dev_get_by_index_rcu() instead of __dev_get_by_index() and
dev_base_lock rwlock

Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9fdce099
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -405,11 +405,12 @@ struct in_device *inetdev_by_index(struct net *net, int ifindex)
{
	struct net_device *dev;
	struct in_device *in_dev = NULL;
	read_lock(&dev_base_lock);
	dev = __dev_get_by_index(net, ifindex);

	rcu_read_lock();
	dev = dev_get_by_index_rcu(net, ifindex);
	if (dev)
		in_dev = in_dev_get(dev);
	read_unlock(&dev_base_lock);
	rcu_read_unlock();
	return in_dev;
}