From: Eric W. Biederman Date: Tue, 30 Dec 2008 02:21:48 +0000 (-0800) Subject: netns: foreach_netdev_safe is insufficient in default_device_exit X-Git-Tag: v2.6.29-rc1~557^2~14 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8eb79863962bbf18ebf648335e329bfd468432fa;p=pandora-kernel.git netns: foreach_netdev_safe is insufficient in default_device_exit During network namespace teardown we either move or delete all of the network devices associated with a network namespace. In the case of veth devices deleting one will also delete it's pair device. If both devices are in the same network namespace then for_each_netdev_safe is insufficient as next may point to the second veth device we have deleted. To avoid problems I do what we do in __rtnl_kill_links and restart the scan of the device list, after we have deleted a device. Currently dev_change_netnamespace does not appear to suffer from this problem, but wireless devices are also paired and likely should be moved between network namespaces together. So I have errored on the side of caution and restart the scan of the network devices in that case as well. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller --- Reading git-diff-tree failed