]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commit0ab7a49449ddf5657f2a907d85b15ab4f31e2b68
treee6e915aa686d2a7125181fc83a847e1955a8ba46
parent9cea447e066bec214b4cb70761e1d7fd10183b6d
[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