[RTNL]: Relax for_each_netdev_safe in __rtnl_link_unregister.
Each potential list_del (happening from inside a ->dellink call) is followed by goto restart, so there's no need in _safe iteration. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Acked-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
fc54c65853
Коммит
3a931a80cb
|
@ -277,12 +277,12 @@ EXPORT_SYMBOL_GPL(rtnl_link_register);
|
||||||
*/
|
*/
|
||||||
void __rtnl_link_unregister(struct rtnl_link_ops *ops)
|
void __rtnl_link_unregister(struct rtnl_link_ops *ops)
|
||||||
{
|
{
|
||||||
struct net_device *dev, *n;
|
struct net_device *dev;
|
||||||
struct net *net;
|
struct net *net;
|
||||||
|
|
||||||
for_each_net(net) {
|
for_each_net(net) {
|
||||||
restart:
|
restart:
|
||||||
for_each_netdev_safe(net, dev, n) {
|
for_each_netdev(net, dev) {
|
||||||
if (dev->rtnl_link_ops == ops) {
|
if (dev->rtnl_link_ops == ops) {
|
||||||
ops->dellink(dev);
|
ops->dellink(dev);
|
||||||
goto restart;
|
goto restart;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче