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                    s...@canb.auug.org.au

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);

Attachment: pgpm_Y4weDZDx.pgp
Description: OpenPGP digital signature

Reply via email to