From 4225ea3098b85ec48388768007d90c6199e35562 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Sun, 1 Nov 2009 19:23:04 +0000 Subject: [PATCH] --- yaml --- r: 171107 b: refs/heads/master c: c148fc2e30c988f7e3ac91738b2c03f1cef44849 h: refs/heads/master i: 171105: 1c6768bb00d37a9684d5c44a90c89831009e1b0b 171103: 765f4650f8ce5015232b91b8ae8adf7bb227c3af v: v3 --- [refs] | 2 +- trunk/net/ipv4/devinet.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index d7f4e6a3186e..e790869a7f5e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9fdce099bb72df534daa6193318feaec177998fc +refs/heads/master: c148fc2e30c988f7e3ac91738b2c03f1cef44849 diff --git a/trunk/net/ipv4/devinet.c b/trunk/net/ipv4/devinet.c index 5df2f6a0b0f0..ccccaae50b20 100644 --- a/trunk/net/ipv4/devinet.c +++ b/trunk/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; }