From: Pavel Emelyanov Date: Wed, 16 Apr 2008 07:45:56 +0000 (-0700) Subject: [RTNL]: Relax for_each_netdev_safe in __rtnl_link_unregister. X-Git-Tag: v2.6.26-rc1~1138^2~63 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a931a80cb25f905da377d1bb0ba9b1641aa579a;p=linux-2.6 [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 Acked-by: Patrick McHardy Signed-off-by: David S. Miller --- diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index da99ac0871..edc6dbfe48 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -277,12 +277,12 @@ EXPORT_SYMBOL_GPL(rtnl_link_register); */ void __rtnl_link_unregister(struct rtnl_link_ops *ops) { - struct net_device *dev, *n; + struct net_device *dev; struct net *net; for_each_net(net) { restart: - for_each_netdev_safe(net, dev, n) { + for_each_netdev(net, dev) { if (dev->rtnl_link_ops == ops) { ops->dellink(dev); goto restart;