netns: fix addrconf_ifdown kernel panic
authorDaniel Lezcano <dlezcano@fr.ibm.com>
Tue, 3 Mar 2009 09:06:45 +0000 (01:06 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Mar 2009 09:06:45 +0000 (01:06 -0800)
commit176c39af29bc4edaf37f663553eeaacd47b5bc9c
tree03395c5761d2ed623f5705493eaa5deef416959d
parentb325fddb7f869e6c95a88dc6573220f162e5b89f
netns: fix addrconf_ifdown kernel panic

When a network namespace is destroyed the network interfaces are
all unregistered, making addrconf_ifdown called by the netdevice
notifier.
In the other hand, the addrconf exit method does a loop on the network
devices and does addrconf_ifdown on each of them. But the ordering of
the netns subsystem is not right because it uses the register_pernet_device
instead of register_pernet_subsys. If we handle the loopback as
any network device, we can safely use register_pernet_subsys.

But if we use register_pernet_subsys, the addrconf exit method will do
exactly what was already done with the unregistering of the network
devices. So in definitive, this code is pointless.

I removed the netns addrconf exit method and moved the code to the
addrconf cleanup function.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c