diff options
author | Stephen Hemminger <stephen@networkplumber.org> | 2013-06-17 14:16:09 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen@networkplumber.org> | 2013-06-24 08:40:32 -0700 |
commit | b7153984074e51a50dad905871b705e0d67aa147 (patch) | |
tree | cfcc9cb5b14102d08291595a0f8e25909bb80c5f /drivers/net/vxlan.c | |
parent | 37173488400704f1a05656616cd12baa9e03173b (diff) | |
download | blackbird-op-linux-b7153984074e51a50dad905871b705e0d67aa147.tar.gz blackbird-op-linux-b7153984074e51a50dad905871b705e0d67aa147.zip |
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>
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r-- | drivers/net/vxlan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 284c6c00c353..d3005d3a768d 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -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); |