]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/bridge/br_forward.c
bridge: multicast flood
[karo-tx-linux.git] / net / bridge / br_forward.c
index 7a241c396981eebb9ee1357daf88e7d18f3f8db8..5b70fc012e40059a8760bb892e62fdeeacdf62c8 100644 (file)
@@ -216,7 +216,7 @@ static void br_multicast_flood(struct net_bridge_mdb_entry *mdst,
 
        prev = NULL;
 
-       rp = br->router_list.first;
+       rp = rcu_dereference(br->router_list.first);
        p = mdst ? mdst->ports : NULL;
        while (p || rp) {
                lport = p ? p->port : NULL;
@@ -233,7 +233,7 @@ static void br_multicast_flood(struct net_bridge_mdb_entry *mdst,
                if ((unsigned long)lport >= (unsigned long)port)
                        p = p->next;
                if ((unsigned long)rport >= (unsigned long)port)
-                       rp = rp->next;
+                       rp = rcu_dereference(rp->next);
        }
 
        if (!prev)