Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wireless: Convert compare_ether_addr to ether_addr_equal

Use the new bool function ether_addr_equal to add
some clarity and reduce the likelihood for misuse
of compare_ether_addr for sorting.

I removed a conversion from scan.c/cmp_bss_core
that appears to be a sorting function.

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>

authored by

Joe Perches and committed by
David S. Miller
ac422d3c 8561cf99

+21 -23
+1 -1
net/wireless/ibss.c
··· 473 473 474 474 /* fixed already - and no change */ 475 475 if (wdev->wext.ibss.bssid && bssid && 476 - compare_ether_addr(bssid, wdev->wext.ibss.bssid) == 0) 476 + ether_addr_equal(bssid, wdev->wext.ibss.bssid)) 477 477 return 0; 478 478 479 479 wdev_lock(wdev);
+15 -16
net/wireless/mlme.c
··· 101 101 ASSERT_WDEV_LOCK(wdev); 102 102 103 103 if (wdev->current_bss && 104 - compare_ether_addr(wdev->current_bss->pub.bssid, bssid) == 0) { 104 + ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) { 105 105 cfg80211_unhold_bss(wdev->current_bss); 106 106 cfg80211_put_bss(&wdev->current_bss->pub); 107 107 wdev->current_bss = NULL; ··· 116 116 117 117 reason_code = le16_to_cpu(mgmt->u.deauth.reason_code); 118 118 119 - from_ap = compare_ether_addr(mgmt->sa, dev->dev_addr) != 0; 119 + from_ap = !ether_addr_equal(mgmt->sa, dev->dev_addr); 120 120 __cfg80211_disconnected(dev, NULL, 0, reason_code, from_ap); 121 121 } else if (wdev->sme_state == CFG80211_SME_CONNECTING) { 122 122 __cfg80211_connect_result(dev, mgmt->bssid, NULL, 0, NULL, 0, ··· 155 155 return; 156 156 157 157 if (wdev->current_bss && 158 - compare_ether_addr(wdev->current_bss->pub.bssid, bssid) == 0) { 158 + ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) { 159 159 cfg80211_sme_disassoc(dev, wdev->current_bss); 160 160 cfg80211_unhold_bss(wdev->current_bss); 161 161 cfg80211_put_bss(&wdev->current_bss->pub); ··· 166 166 167 167 reason_code = le16_to_cpu(mgmt->u.disassoc.reason_code); 168 168 169 - from_ap = compare_ether_addr(mgmt->sa, dev->dev_addr) != 0; 169 + from_ap = !ether_addr_equal(mgmt->sa, dev->dev_addr); 170 170 __cfg80211_disconnected(dev, NULL, 0, reason_code, from_ap); 171 171 } 172 172 EXPORT_SYMBOL(__cfg80211_send_disassoc); ··· 286 286 return -EINVAL; 287 287 288 288 if (wdev->current_bss && 289 - compare_ether_addr(bssid, wdev->current_bss->pub.bssid) == 0) 289 + ether_addr_equal(bssid, wdev->current_bss->pub.bssid)) 290 290 return -EALREADY; 291 291 292 292 memset(&req, 0, sizeof(req)); ··· 363 363 memset(&req, 0, sizeof(req)); 364 364 365 365 if (wdev->current_bss && prev_bssid && 366 - compare_ether_addr(wdev->current_bss->pub.bssid, prev_bssid) == 0) { 366 + ether_addr_equal(wdev->current_bss->pub.bssid, prev_bssid)) { 367 367 /* 368 368 * Trying to reassociate: Allow this to proceed and let the old 369 369 * association to be dropped when the new one is completed. ··· 447 447 448 448 if (local_state_change) { 449 449 if (wdev->current_bss && 450 - compare_ether_addr(wdev->current_bss->pub.bssid, bssid) 451 - == 0) { 450 + ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) { 452 451 cfg80211_unhold_bss(wdev->current_bss); 453 452 cfg80211_put_bss(&wdev->current_bss->pub); 454 453 wdev->current_bss = NULL; ··· 496 497 req.local_state_change = local_state_change; 497 498 req.ie = ie; 498 499 req.ie_len = ie_len; 499 - if (compare_ether_addr(wdev->current_bss->pub.bssid, bssid) == 0) 500 + if (ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) 500 501 req.bss = &wdev->current_bss->pub; 501 502 else 502 503 return -ENOTCONN; ··· 759 760 break; 760 761 } 761 762 762 - if (compare_ether_addr(wdev->current_bss->pub.bssid, 763 - mgmt->bssid)) { 763 + if (!ether_addr_equal(wdev->current_bss->pub.bssid, 764 + mgmt->bssid)) { 764 765 err = -ENOTCONN; 765 766 break; 766 767 } ··· 773 774 break; 774 775 775 776 /* for station, check that DA is the AP */ 776 - if (compare_ether_addr(wdev->current_bss->pub.bssid, 777 - mgmt->da)) { 777 + if (!ether_addr_equal(wdev->current_bss->pub.bssid, 778 + mgmt->da)) { 778 779 err = -ENOTCONN; 779 780 break; 780 781 } ··· 782 783 case NL80211_IFTYPE_AP: 783 784 case NL80211_IFTYPE_P2P_GO: 784 785 case NL80211_IFTYPE_AP_VLAN: 785 - if (compare_ether_addr(mgmt->bssid, dev->dev_addr)) 786 + if (!ether_addr_equal(mgmt->bssid, dev->dev_addr)) 786 787 err = -EINVAL; 787 788 break; 788 789 case NL80211_IFTYPE_MESH_POINT: 789 - if (compare_ether_addr(mgmt->sa, mgmt->bssid)) { 790 + if (!ether_addr_equal(mgmt->sa, mgmt->bssid)) { 790 791 err = -EINVAL; 791 792 break; 792 793 } ··· 805 806 return err; 806 807 } 807 808 808 - if (compare_ether_addr(mgmt->sa, dev->dev_addr) != 0) 809 + if (!ether_addr_equal(mgmt->sa, dev->dev_addr)) 809 810 return -EINVAL; 810 811 811 812 /* Transmit the Action frame as requested by user space */
+1 -1
net/wireless/scan.c
··· 281 281 { 282 282 const u8 *ssidie; 283 283 284 - if (bssid && compare_ether_addr(a->bssid, bssid)) 284 + if (bssid && !ether_addr_equal(a->bssid, bssid)) 285 285 return false; 286 286 287 287 if (!ssid)
+2 -3
net/wireless/util.c
··· 609 609 payload = frame->data; 610 610 ethertype = (payload[6] << 8) | payload[7]; 611 611 612 - if (likely((compare_ether_addr(payload, rfc1042_header) == 0 && 612 + if (likely((ether_addr_equal(payload, rfc1042_header) && 613 613 ethertype != ETH_P_AARP && ethertype != ETH_P_IPX) || 614 - compare_ether_addr(payload, 615 - bridge_tunnel_header) == 0)) { 614 + ether_addr_equal(payload, bridge_tunnel_header))) { 616 615 /* remove RFC1042 or Bridge-Tunnel 617 616 * encapsulation and replace EtherType */ 618 617 skb_pull(frame, 6);
+1 -1
net/wireless/wext-sme.c
··· 276 276 277 277 /* fixed already - and no change */ 278 278 if (wdev->wext.connect.bssid && bssid && 279 - compare_ether_addr(bssid, wdev->wext.connect.bssid) == 0) 279 + ether_addr_equal(bssid, wdev->wext.connect.bssid)) 280 280 goto out; 281 281 282 282 err = __cfg80211_disconnect(rdev, dev,
+1 -1
net/wireless/wext-spy.c
··· 203 203 204 204 /* Update all records that match */ 205 205 for (i = 0; i < spydata->spy_number; i++) 206 - if (!compare_ether_addr(address, spydata->spy_address[i])) { 206 + if (ether_addr_equal(address, spydata->spy_address[i])) { 207 207 memcpy(&(spydata->spy_stat[i]), wstats, 208 208 sizeof(struct iw_quality)); 209 209 match = i;