From: Eric Dumazet Date: Sun, 1 Nov 2009 19:23:04 +0000 (+0000) Subject: ipv4: inetdev_by_index() switch to RCU X-Git-Tag: v2.6.33-rc1~388^2~566 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=c148fc2e30c988f7e3ac91738b2c03f1cef44849;p=~emulex%2Finfiniband.git 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: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 5df2f6a0b0f..ccccaae50b2 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c @@ -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; }