linux/drivers/net
Eric W. Biederman ae33bc40c0 net: Guaranetee the proper ordering of the loopback device.
I was recently hunting a bug that occurred in network namespace
cleanup.  In looking at the code it became apparrent that we have
and will continue to have cases where if we have anything going
on in a network namespace there will be assumptions that the
loopback device is present.   Things like sending igmp unsubscribe
messages when we bring down network devices invokes the routing
code which assumes that at least the loopback driver is present.

Therefore to avoid magic initcall ordering hackery that is hard
to follow and hard to get right insert a call to register the
loopback device directly from net_dev_init().    This guarantes
that the loopback device is the first device registered and
the last network device to go away.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-05 16:00:02 -08:00
..
appletalk drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
arcnet drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
arm drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
atl1e drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
atlx drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
bonding bonding, net: Move last_rx update into bonding recv logic 2008-11-03 18:16:50 -08:00
can
chelsio drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
cris
cxgb3 drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
e1000 drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
e1000e drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ehea drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
enic drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
fs_enet
hamradio drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ibm_newemac Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-31 00:17:34 -07:00
igb drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
irda drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ixgb drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ixgbe drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ixp2000 drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
mlx4 drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
myri10ge drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
netxen drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
pcmcia drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
phy broadcom: Add support for BCM50610 2008-11-03 16:56:51 -08:00
qlge drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sfc drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
skfp drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
tokenring drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
tulip drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
usb drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
wan drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
wireless drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
3c59x.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
3c501.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
3c501.h
3c503.c
3c503.h
3c505.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
3c505.h
3c507.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
3c509.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
3c515.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
3c523.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
3c523.h
3c527.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
3c527.h
7990.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
7990.h
8139cp.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
8139too.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
8390.c
8390.h
8390p.c
82596.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
a2065.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
a2065.h
ac3200.c
acenic_firmware.h
acenic.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
acenic.h
amd8111e.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
amd8111e.h
apne.c
ariadne.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ariadne.h
at1700.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
atarilance.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
atp.c
atp.h
au1000_eth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
au1000_eth.h
ax88796.c
b44.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
b44.h
bfin_mac.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
bfin_mac.h
bmac.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
bmac.h
bnx2_fw2.h
bnx2_fw.h
bnx2.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
bnx2.h
bnx2x_fw_defs.h
bnx2x_hsi.h
bnx2x_init_values.h
bnx2x_init.h
bnx2x_link.c
bnx2x_link.h
bnx2x_main.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
bnx2x_reg.h
bnx2x.h
bsd_comp.c
cassini.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
cassini.h
cpmac.c
cs89x0.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
cs89x0.h
de600.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
de600.h
de620.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
de620.h
declance.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
defxx.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
defxx.h
depca.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
depca.h
dl2k.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
dl2k.h
dm9000.c
dm9000.h
dummy.c
e100.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
e2100.c
eepro.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
eexpress.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
eexpress.h
enc28j60_hw.h
enc28j60.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
epic100.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
eql.c
es3210.c
eth16i.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ewrk3.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ewrk3.h
fealnx.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
fec_mpc52xx_phy.c
fec_mpc52xx.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
fec_mpc52xx.h
fec.c
fec.h
forcedeth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
gianfar_ethtool.c
gianfar_mii.c gianfar: Fix race in TBI/SerDes configuration 2008-10-31 00:59:46 -04:00
gianfar_mii.h gianfar: Fix race in TBI/SerDes configuration 2008-10-31 00:59:46 -04:00
gianfar_sysfs.c
gianfar.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
gianfar.h
hamachi.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
hp100.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ibmlana.h
ibmveth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ibmveth.h
ifb.c
ioc3-eth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ipg.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ipg.h
isa-skeleton.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
iseries_veth.c
jazzsonic.c
jme.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
jme.h
Kconfig
korina.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
lance.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
lasi_82596.c
lib8390.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
lib82596.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
LICENSE.SRC
lne390.c
loopback.c net: Guaranetee the proper ordering of the loopback device. 2008-11-05 16:00:02 -08:00
lp486e.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
mac89x0.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
mac8390.c
macb.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
macb.h
mace.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
mace.h
macmace.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
macsonic.c
macvlan.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
Makefile
meth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
meth.h
mii.c
mipsnet.c
mv643xx_eth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
mvme147.c
myri_code.h
myri_sbus.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
myri_sbus.h
natsemi.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c
netconsole.c
netx-eth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ni52.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ni52.h
ni65.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ni65.h
ni5010.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ni5010.h
niu.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
niu.h
ns83820.c
pasemi_mac_ethtool.c
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
pcnet32.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
plip.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ppp_async.c
ppp_deflate.c
ppp_generic.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-31 00:17:34 -07:00
pppol2tp.c
pppox.c
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c
ps3_gelic_wireless.h
qla3xxx.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
qla3xxx.h
r6040.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
r8169.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
rionet.c
rrunner.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
rrunner.h
s2io-regs.h
s2io.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
s2io.h
sb1000.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sb1250-mac.c
sc92031.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
seeq8005.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
seeq8005.h
sgiseeq.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sgiseeq.h
sh_eth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sh_eth.h
sis190.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sis900.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sis900.h
skge.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
skge.h
sky2.c
sky2.h
slhc.c
slip.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
slip.h
smc91x.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
smc91x.h
smc911x.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
smc911x.h
smc9194.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c
spider_net.h
starfire_firmware.h
starfire_firmware.pl
starfire.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sunbmac.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sunbmac.h
sundance.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sungem_phy.c
sungem_phy.h
sungem.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sungem.h
sunhme.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sunhme.h
sunlance.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sunqe.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
tehuti_fw.h
tehuti.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
tehuti.h
tg3.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
tg3.h tg3: 5785 enhancements 2008-11-03 16:55:44 -08:00
tlan.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
tlan.h
tsi108_eth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
tsi108_eth.h
tun.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
typhoon-firmware.h
typhoon.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
typhoon.h
ucc_geth_ethtool.c
ucc_geth_mii.c
ucc_geth_mii.h
ucc_geth.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
ucc_geth.h
veth.c
via-rhine.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
via-velocity.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
via-velocity.h
virtio_net.c
wd.c
xen-netfront.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
xtsonic.c
yellowfin.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
znet.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
zorro8390.c