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>
---
v3 - get rid of destroy_workqueue that snuck in from later patch
Should go to stable as well
--- a/drivers/net/vxlan.c 2013-06-10 15:06:15.186973784 -0700
+++ b/drivers/net/vxlan.c 2013-06-10 15:10:11.603785773 -0700
@@ -1785,8 +1785,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);