From: Herbert Xu Date: Fri, 5 Mar 2010 21:07:39 +0000 (+0000) Subject: bridge: Use RCU list primitive in __br_mdb_ip_get X-Git-Tag: v2.6.34-rc2~48^2~39 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=49f5fcfd4ac3df24aa66520e1c5f37db5dfa8c10;p=platform%2Fupstream%2Fkernel-adaptation-pc.git bridge: Use RCU list primitive in __br_mdb_ip_get As Paul McKenney correctly pointed out, __br_mdb_ip_get needs to use the RCU list walking primitive in order to work correctly on platforms where data-dependency ordering is not guaranteed. Reported-by: Paul E. McKenney Signed-off-by: Herbert Xu Signed-off-by: David S. Miller --- diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 8b25887..a1ffe15 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -38,7 +38,7 @@ static struct net_bridge_mdb_entry *__br_mdb_ip_get( struct net_bridge_mdb_entry *mp; struct hlist_node *p; - hlist_for_each_entry(mp, p, &mdb->mhash[hash], hlist[mdb->ver]) { + hlist_for_each_entry_rcu(mp, p, &mdb->mhash[hash], hlist[mdb->ver]) { if (dst == mp->addr) return mp; }