aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bond_main.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2005-10-03 17:35:55 -0400
committerDavid S. Miller <davem@davemloft.net>2005-10-03 17:35:55 -0400
commite5ed639913eea3e4783a550291775ab78dd84966 (patch)
treee6e915aa686d2a7125181fc83a847e1955a8ba46 /drivers/net/bonding/bond_main.c
parenta5e7c210fefd2454c757a3542e41063407ca7108 (diff)
[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl
The following patch renames __in_dev_get() to __in_dev_get_rtnl() and introduces __in_dev_get_rcu() to cover the second case. 1) RCU with refcnt should use in_dev_get(). 2) RCU without refcnt should use __in_dev_get_rcu(). 3) All others must hold RTNL and use __in_dev_get_rtnl(). There is one exception in net/ipv4/route.c which is in fact a pre-existing race condition. I've marked it as such so that we remember to fix it. This patch is based on suggestions and prior work by Suzanne Wood and Paul McKenney. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bond_main.c')
-rw-r--r--drivers/net/bonding/bond_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 6d00c3de1a83..bf81cd45e4d4 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -2776,7 +2776,7 @@ static u32 bond_glean_dev_ip(struct net_device *dev)
2776 return 0; 2776 return 0;
2777 2777
2778 rcu_read_lock(); 2778 rcu_read_lock();
2779 idev = __in_dev_get(dev); 2779 idev = __in_dev_get_rcu(dev);
2780 if (!idev) 2780 if (!idev)
2781 goto out; 2781 goto out;
2782 2782