Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 168d40ee authored by stephen hemminger's avatar stephen hemminger Committed by David S. Miller
Browse files

bridge: multicast flood



Fix unsafe usage of RCU. Would never work on Alpha SMP because
of lack of rcu_dereference()

Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7e80c124
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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)