rtnetlink: wait for unregistering devices in rtnl_link_unregister()
authorCong Wang <[email protected]>
Mon, 12 May 2014 22:11:20 +0000 (15:11 -0700)
committerDavid S. Miller <[email protected]>
Thu, 15 May 2014 19:30:33 +0000 (15:30 -0400)
commit200b916f3575bdf11609cb447661b8d5957b0bbf
tree7d9c385377dda2cddc5a4c0196189c65deeae4c1
parente84d2f8d2ae33c8215429824e1ecf24cbca9645e
rtnetlink: wait for unregistering devices in rtnl_link_unregister()

From: Cong Wang <[email protected]>

commit 50624c934db18ab90 (net: Delay default_device_exit_batch until no
devices are unregistering) introduced rtnl_lock_unregistering() for
default_device_exit_batch(). Same race could happen we when rmmod a driver
which calls rtnl_link_unregister() as we call dev->destructor without rtnl
lock.

For long term, I think we should clean up the mess of netdev_run_todo()
and net namespce exit code.

Cc: Eric W. Biederman <[email protected]>
Cc: David S. Miller <[email protected]>
Signed-off-by: Cong Wang <[email protected]>
Signed-off-by: Cong Wang <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
include/linux/rtnetlink.h
net/core/dev.c
net/core/net_namespace.c
net/core/rtnetlink.c