vxlan: fix out of order operation on module removal

If vxlan is removed with active vxlan's it would crash because
rtnl_link_unregister (which calls vxlan_dellink), was invoked
before unregister_pernet_device (which calls vxlan_stop).

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
Stephen Hemminger 2013-06-17 14:16:09 -07:00
parent 3717348840
commit b715398407

View File

@ -1771,8 +1771,8 @@ late_initcall(vxlan_init_module);
static void __exit vxlan_cleanup_module(void)
{
rtnl_link_unregister(&vxlan_link_ops);
unregister_pernet_device(&vxlan_net_ops);
rtnl_link_unregister(&vxlan_link_ops);
rcu_barrier();
}
module_exit(vxlan_cleanup_module);