Subject: linux-next: manual merge of the net-next tree with Linus' tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 14 Jul 2015 11:46:17 +1000

Hi all,

Today's linux-next merge of the net-next tree got a conflict in:

  net/bridge/br_mdb.c

between commit:

  f1158b74e54f ("bridge: mdb: zero out the local br_ip variable before use")

from Linus' tree and commit:

  74fe61f17e99 ("bridge: mdb: add vlan support for user entries")

from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    [email-masked]

diff --cc net/bridge/br_mdb.c
index c11cf2611db0,a8d0e93d43f2..000000000000
--- a/net/bridge/br_mdb.c
+++ b/net/bridge/br_mdb.c
@@@ -348,10 -352,8 +353,10 @@@ static int br_mdb_add_group(struct net_
  	if (unlikely(!p))
  		return -ENOMEM;
  	rcu_assign_pointer(*pp, p);
 +	if (state == MDB_TEMPORARY)
 +		mod_timer(&p->timer, now + br->multicast_membership_interval);
  
- 	br_mdb_notify(br->dev, port, group, RTM_NEWMDB);
+ 	br_mdb_notify(br->dev, port, group, RTM_NEWMDB, state);
  	return 0;
  }
  
@@@ -374,7 -376,7 +379,8 @@@ static int __br_mdb_add(struct net *net
  	if (!p || p->br != br || p->state == BR_STATE_DISABLED)
  		return -EINVAL;
  
 +	memset(&ip, 0, sizeof(ip));
+ 	ip.vid = entry->vid;
  	ip.proto = entry->addr.proto;
  	if (ip.proto == htons(ETH_P_IP))
  		ip.u.ip4 = entry->addr.u.ip4;
@@@ -421,14 -423,21 +427,15 @@@ static int __br_mdb_del(struct net_brid
  	if (!netif_running(br->dev) || br->multicast_disabled)
  		return -EINVAL;
  
 +	memset(&ip, 0, sizeof(ip));
+ 	ip.vid = entry->vid;
  	ip.proto = entry->addr.proto;
 -	if (ip.proto == htons(ETH_P_IP)) {
 -		if (timer_pending(&br->ip4_other_query.timer))
 -			return -EBUSY;
 -
 +	if (ip.proto == htons(ETH_P_IP))
  		ip.u.ip4 = entry->addr.u.ip4;
  #if IS_ENABLED(CONFIG_IPV6)
 -	} else {
 -		if (timer_pending(&br->ip6_other_query.timer))
 -			return -EBUSY;
 -
 +	else
  		ip.u.ip6 = entry->addr.u.ip6;
  #endif
 -	}
  
  	spin_lock_bh(&br->multicast_lock);
  	mdb = mlock_dereference(br->mdb, br);