bridge: Convert compare_ether_addr to ether_addr_equal
authorJoe Perches <joe@perches.com>
Tue, 8 May 2012 18:56:49 +0000 (18:56 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 May 2012 00:49:17 +0000 (20:49 -0400)
Use the new bool function ether_addr_equal to add
some clarity and reduce the likelihood for misuse
of compare_ether_addr for sorting.

Done via cocci script:

$ cat compare_ether_addr.cocci
@@
expression a,b;
@@
- !compare_ether_addr(a, b)
+ ether_addr_equal(a, b)

@@
expression a,b;
@@
- compare_ether_addr(a, b)
+ !ether_addr_equal(a, b)

@@
expression a,b;
@@
- !ether_addr_equal(a, b) == 0
+ ether_addr_equal(a, b)

@@
expression a,b;
@@
- !ether_addr_equal(a, b) != 0
+ !ether_addr_equal(a, b)

@@
expression a,b;
@@
- ether_addr_equal(a, b) == 0
+ !ether_addr_equal(a, b)

@@
expression a,b;
@@
- ether_addr_equal(a, b) != 0
+ ether_addr_equal(a, b)

@@
expression a,b;
@@
- !!ether_addr_equal(a, b)
+ ether_addr_equal(a, b)

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_device.c
net/bridge/br_fdb.c
net/bridge/br_input.c
net/bridge/br_stp_bpdu.c
net/bridge/br_stp_if.c

index d6e5929458b1c8c21f426ebca5d0827e8712444c..929e48aed44438bf82565ade96713c0169f5e440 100644 (file)
@@ -170,7 +170,7 @@ static int br_set_mac_address(struct net_device *dev, void *p)
                return -EADDRNOTAVAIL;
 
        spin_lock_bh(&br->lock);
-       if (compare_ether_addr(dev->dev_addr, addr->sa_data)) {
+       if (!ether_addr_equal(dev->dev_addr, addr->sa_data)) {
                dev->addr_assign_type &= ~NET_ADDR_RANDOM;
                memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
                br_fdb_change_mac_address(br, addr->sa_data);
index 5945c54bc2de26e4e322a8a634836f6a0e139fd3..d21f32383517f6b66a3b0c43ea534beb3840307c 100644 (file)
@@ -107,8 +107,8 @@ void br_fdb_changeaddr(struct net_bridge_port *p, const unsigned char *newaddr)
                                struct net_bridge_port *op;
                                list_for_each_entry(op, &br->port_list, list) {
                                        if (op != p &&
-                                           !compare_ether_addr(op->dev->dev_addr,
-                                                               f->addr.addr)) {
+                                           ether_addr_equal(op->dev->dev_addr,
+                                                            f->addr.addr)) {
                                                f->dst = op;
                                                goto insert;
                                        }
@@ -214,8 +214,8 @@ void br_fdb_delete_by_port(struct net_bridge *br,
                                struct net_bridge_port *op;
                                list_for_each_entry(op, &br->port_list, list) {
                                        if (op != p &&
-                                           !compare_ether_addr(op->dev->dev_addr,
-                                                               f->addr.addr)) {
+                                           ether_addr_equal(op->dev->dev_addr,
+                                                            f->addr.addr)) {
                                                f->dst = op;
                                                goto skip_delete;
                                        }
@@ -237,7 +237,7 @@ struct net_bridge_fdb_entry *__br_fdb_get(struct net_bridge *br,
        struct net_bridge_fdb_entry *fdb;
 
        hlist_for_each_entry_rcu(fdb, h, &br->hash[br_mac_hash(addr)], hlist) {
-               if (!compare_ether_addr(fdb->addr.addr, addr)) {
+               if (ether_addr_equal(fdb->addr.addr, addr)) {
                        if (unlikely(has_expired(br, fdb)))
                                break;
                        return fdb;
@@ -331,7 +331,7 @@ static struct net_bridge_fdb_entry *fdb_find(struct hlist_head *head,
        struct net_bridge_fdb_entry *fdb;
 
        hlist_for_each_entry(fdb, h, head, hlist) {
-               if (!compare_ether_addr(fdb->addr.addr, addr))
+               if (ether_addr_equal(fdb->addr.addr, addr))
                        return fdb;
        }
        return NULL;
@@ -344,7 +344,7 @@ static struct net_bridge_fdb_entry *fdb_find_rcu(struct hlist_head *head,
        struct net_bridge_fdb_entry *fdb;
 
        hlist_for_each_entry_rcu(fdb, h, head, hlist) {
-               if (!compare_ether_addr(fdb->addr.addr, addr))
+               if (ether_addr_equal(fdb->addr.addr, addr))
                        return fdb;
        }
        return NULL;
index 5a31731be4d066f168579552981bd3e28b2f0ac4..76f15fda0212b9756d6110ea0f105edca4b3d25f 100644 (file)
@@ -216,7 +216,7 @@ forward:
                }
                /* fall through */
        case BR_STATE_LEARNING:
-               if (!compare_ether_addr(p->br->dev->dev_addr, dest))
+               if (ether_addr_equal(p->br->dev->dev_addr, dest))
                        skb->pkt_type = PACKET_HOST;
 
                NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
index e16aade51ae0462c2f0a7cdb72ec49346c56128e..fd30a6022dea94311ea7002dc872d978b87d9c3a 100644 (file)
@@ -167,7 +167,7 @@ void br_stp_rcv(const struct stp_proto *proto, struct sk_buff *skb,
        if (p->state == BR_STATE_DISABLED)
                goto out;
 
-       if (compare_ether_addr(dest, br->group_addr) != 0)
+       if (!ether_addr_equal(dest, br->group_addr))
                goto out;
 
        buf = skb_pull(skb, 3);
index f494496373d60c1faf368a05605073a1c71ad04f..9d5a414a3943af23b08734c32685c10cb078c025 100644 (file)
@@ -178,7 +178,7 @@ void br_stp_set_enabled(struct net_bridge *br, unsigned long val)
 /* called under bridge lock */
 void br_stp_change_bridge_id(struct net_bridge *br, const unsigned char *addr)
 {
-       /* should be aligned on 2 bytes for compare_ether_addr() */
+       /* should be aligned on 2 bytes for ether_addr_equal() */
        unsigned short oldaddr_aligned[ETH_ALEN >> 1];
        unsigned char *oldaddr = (unsigned char *)oldaddr_aligned;
        struct net_bridge_port *p;
@@ -191,12 +191,11 @@ void br_stp_change_bridge_id(struct net_bridge *br, const unsigned char *addr)
        memcpy(br->dev->dev_addr, addr, ETH_ALEN);
 
        list_for_each_entry(p, &br->port_list, list) {
-               if (!compare_ether_addr(p->designated_bridge.addr, oldaddr))
+               if (ether_addr_equal(p->designated_bridge.addr, oldaddr))
                        memcpy(p->designated_bridge.addr, addr, ETH_ALEN);
 
-               if (!compare_ether_addr(p->designated_root.addr, oldaddr))
+               if (ether_addr_equal(p->designated_root.addr, oldaddr))
                        memcpy(p->designated_root.addr, addr, ETH_ALEN);
-
        }
 
        br_configuration_update(br);
@@ -205,7 +204,7 @@ void br_stp_change_bridge_id(struct net_bridge *br, const unsigned char *addr)
                br_become_root_bridge(br);
 }
 
-/* should be aligned on 2 bytes for compare_ether_addr() */
+/* should be aligned on 2 bytes for ether_addr_equal() */
 static const unsigned short br_mac_zero_aligned[ETH_ALEN >> 1];
 
 /* called under bridge lock */
@@ -227,7 +226,7 @@ bool br_stp_recalculate_bridge_id(struct net_bridge *br)
 
        }
 
-       if (compare_ether_addr(br->bridge_id.addr, addr) == 0)
+       if (ether_addr_equal(br->bridge_id.addr, addr))
                return false;   /* no change */
 
        br_stp_change_bridge_id(br, addr);