Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
net/bridge/br_fdb.c between commit 2ba071ecb6d4 ("bridge: Add vlan to
unicast fdb entries") from the net-next tree and commit "hlist: drop the
node parameter from iterators" from the akpm 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_fdb.c
index 8117900,4fb0461..0000000
--- a/net/bridge/br_fdb.c
+++ b/net/bridge/br_fdb.c
@@@ -263,16 -231,12 +263,15 @@@ void br_fdb_delete_by_port(struct net_b
  
  /* No locking or refcounting, assumes caller has rcu_read_lock */
  struct net_bridge_fdb_entry *__br_fdb_get(struct net_bridge *br,
 -                                        const unsigned char *addr)
 +                                        const unsigned char *addr,
 +                                        __u16 vid)
  {
-       struct hlist_node *h;
        struct net_bridge_fdb_entry *fdb;
  
-       hlist_for_each_entry_rcu(fdb, h,
 -      hlist_for_each_entry_rcu(fdb, &br->hash[br_mac_hash(addr)], hlist) {
 -              if (ether_addr_equal(fdb->addr.addr, addr)) {
++      hlist_for_each_entry_rcu(fdb,
 +                              &br->hash[br_mac_hash(addr, vid)], hlist) {
 +              if (ether_addr_equal(fdb->addr.addr, addr) &&
 +                  fdb->vlan_id == vid) {
                        if (unlikely(has_expired(br, fdb)))
                                break;
                        return fdb;
@@@ -360,30 -323,24 +358,28 @@@ int br_fdb_fillbuf(struct net_bridge *b
  }
  
  static struct net_bridge_fdb_entry *fdb_find(struct hlist_head *head,
 -                                           const unsigned char *addr)
 +                                           const unsigned char *addr,
 +                                           __u16 vid)
  {
-       struct hlist_node *h;
        struct net_bridge_fdb_entry *fdb;
  
-       hlist_for_each_entry(fdb, h, head, hlist) {
+       hlist_for_each_entry(fdb, head, hlist) {
 -              if (ether_addr_equal(fdb->addr.addr, addr))
 +              if (ether_addr_equal(fdb->addr.addr, addr) &&
 +                  fdb->vlan_id == vid)
                        return fdb;
        }
        return NULL;
  }
  
  static struct net_bridge_fdb_entry *fdb_find_rcu(struct hlist_head *head,
 -                                               const unsigned char *addr)
 +                                               const unsigned char *addr,
 +                                               __u16 vid)
  {
-       struct hlist_node *h;
        struct net_bridge_fdb_entry *fdb;
  
-       hlist_for_each_entry_rcu(fdb, h, head, hlist) {
+       hlist_for_each_entry_rcu(fdb, head, hlist) {
 -              if (ether_addr_equal(fdb->addr.addr, addr))
 +              if (ether_addr_equal(fdb->addr.addr, addr) &&
 +                  fdb->vlan_id == vid)
                        return fdb;
        }
        return NULL;

Attachment: pgp2_6YZ2EFhd.pgp
Description: PGP signature

Reply via email to