From: stephen hemminger Date: Thu, 18 Jul 2013 15:38:26 +0000 (-0700) Subject: vxlan: unregister on namespace exit X-Git-Tag: accepted/tizen/common/20141203.182822~1767^2~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=372675a4a9ac0a0af962d44dadeea69926ce45e0;p=platform%2Fkernel%2Flinux-arm64.git vxlan: unregister on namespace exit Fix memory leaks and other badness from VXLAN network namespace teardown. When network namespace is removed, all the vxlan devices should be unregistered (not closed). Signed-off-by: Stephen Hemminger Reviewed-by: Pravin B Shelar Signed-off-by: David S. Miller --- diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index a5ba8dd..f101034 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1878,10 +1878,12 @@ static __net_exit void vxlan_exit_net(struct net *net) { struct vxlan_net *vn = net_generic(net, vxlan_net_id); struct vxlan_dev *vxlan; + LIST_HEAD(list); rtnl_lock(); list_for_each_entry(vxlan, &vn->vxlan_list, next) - dev_close(vxlan->dev); + unregister_netdevice_queue(vxlan->dev, &list); + unregister_netdevice_many(&list); rtnl_unlock(); }