From: David S. Miller Date: Tue, 27 Apr 2010 23:49:58 +0000 (-0700) Subject: Revert "bridge: Use hlist_for_each_entry_rcu() in br_multicast_add_router()" X-Git-Tag: v2.6.35-rc1~473^2~342 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=709b9326ef6fc1b7e379d47d5f39ebc27dad3f4d;p=platform%2Fkernel%2Flinux-3.10.git Revert "bridge: Use hlist_for_each_entry_rcu() in br_multicast_add_router()" This reverts commit ff65e8275f6c96a5eda57493bd84c4555decf7b3. As explained by Stephen Hemminger, the traversal doesn't require RCU handling as we hold a lock. The list addition et al. calls, on the other hand, do. Signed-off-by: David S. Miller --- diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index e29c9b7..fcba313 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -1045,7 +1045,7 @@ static void br_multicast_add_router(struct net_bridge *br, struct net_bridge_port *p; struct hlist_node *n, *last = NULL; - hlist_for_each_entry_rcu(p, n, &br->router_list, rlist) { + hlist_for_each_entry(p, n, &br->router_list, rlist) { if ((unsigned long) port >= (unsigned long) p) { hlist_add_before_rcu(n, &port->rlist); return;