]> bbs.cooldavid.org Git - net-next-2.6.git/commit - net/ipv4/igmp.c
[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 3 Oct 2005 21:35:55 +0000 (14:35 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Oct 2005 21:35:55 +0000 (14:35 -0700)
commite5ed639913eea3e4783a550291775ab78dd84966
treee6e915aa686d2a7125181fc83a847e1955a8ba46
parenta5e7c210fefd2454c757a3542e41063407ca7108
[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>
24 files changed:
drivers/net/bonding/bond_main.c
drivers/net/wan/sdlamain.c
drivers/net/wan/syncppp.c
drivers/net/wireless/strip.c
drivers/parisc/led.c
drivers/s390/net/qeth_main.c
include/linux/inetdevice.h
net/atm/clip.c
net/core/netpoll.c
net/core/pktgen.c
net/econet/af_econet.c
net/ipv4/arp.c
net/ipv4/devinet.c
net/ipv4/fib_frontend.c
net/ipv4/fib_semantics.c
net/ipv4/igmp.c
net/ipv4/ip_gre.c
net/ipv4/ipmr.c
net/ipv4/netfilter/ip_conntrack_netbios_ns.c
net/ipv4/netfilter/ipt_REDIRECT.c
net/ipv4/route.c
net/ipv6/addrconf.c
net/irda/irlan/irlan_eth.c
net/sctp/protocol.c