24
24
#include <linux/slab.h>
25
25
#include <linux/export.h>
26
26
#include <linux/moduleparam.h>
27
+ #include <linux/etherdevice.h>
27
28
28
29
#include "hostap_wlan.h"
29
30
#include "hostap.h"
@@ -106,13 +107,12 @@ static void ap_sta_hash_del(struct ap_data *ap, struct sta_info *sta)
106
107
107
108
s = ap -> sta_hash [STA_HASH (sta -> addr )];
108
109
if (s == NULL ) return ;
109
- if (memcmp (s -> addr , sta -> addr , ETH_ALEN ) == 0 ) {
110
+ if (ether_addr_equal (s -> addr , sta -> addr ) ) {
110
111
ap -> sta_hash [STA_HASH (sta -> addr )] = s -> hnext ;
111
112
return ;
112
113
}
113
114
114
- while (s -> hnext != NULL && memcmp (s -> hnext -> addr , sta -> addr , ETH_ALEN )
115
- != 0 )
115
+ while (s -> hnext != NULL && !ether_addr_equal (s -> hnext -> addr , sta -> addr ))
116
116
s = s -> hnext ;
117
117
if (s -> hnext != NULL )
118
118
s -> hnext = s -> hnext -> hnext ;
@@ -435,7 +435,7 @@ int ap_control_del_mac(struct mac_restrictions *mac_restrictions, u8 *mac)
435
435
ptr != & mac_restrictions -> mac_list ; ptr = ptr -> next ) {
436
436
entry = list_entry (ptr , struct mac_entry , list );
437
437
438
- if (memcmp (entry -> addr , mac , ETH_ALEN ) == 0 ) {
438
+ if (ether_addr_equal (entry -> addr , mac ) ) {
439
439
list_del (ptr );
440
440
kfree (entry );
441
441
mac_restrictions -> entries -- ;
@@ -459,7 +459,7 @@ static int ap_control_mac_deny(struct mac_restrictions *mac_restrictions,
459
459
460
460
spin_lock_bh (& mac_restrictions -> lock );
461
461
list_for_each_entry (entry , & mac_restrictions -> mac_list , list ) {
462
- if (memcmp (entry -> addr , mac , ETH_ALEN ) == 0 ) {
462
+ if (ether_addr_equal (entry -> addr , mac ) ) {
463
463
found = 1 ;
464
464
break ;
465
465
}
@@ -957,7 +957,7 @@ static struct sta_info* ap_get_sta(struct ap_data *ap, u8 *sta)
957
957
struct sta_info * s ;
958
958
959
959
s = ap -> sta_hash [STA_HASH (sta )];
960
- while (s != NULL && memcmp (s -> addr , sta , ETH_ALEN ) != 0 )
960
+ while (s != NULL && ! ether_addr_equal (s -> addr , sta ) )
961
961
s = s -> hnext ;
962
962
return s ;
963
963
}
@@ -1391,7 +1391,7 @@ static void handle_authen(local_info_t *local, struct sk_buff *skb,
1391
1391
status_code = __le16_to_cpu (* pos );
1392
1392
pos ++ ;
1393
1393
1394
- if (memcmp (dev -> dev_addr , hdr -> addr2 , ETH_ALEN ) == 0 ||
1394
+ if (ether_addr_equal (dev -> dev_addr , hdr -> addr2 ) ||
1395
1395
ap_control_mac_deny (& ap -> mac_restrictions , hdr -> addr2 )) {
1396
1396
txt = "authentication denied" ;
1397
1397
resp = WLAN_STATUS_UNSPECIFIED_FAILURE ;
@@ -1935,7 +1935,7 @@ static void handle_pspoll(local_info_t *local,
1935
1935
PDEBUG (DEBUG_PS2 , "handle_pspoll: BSSID=%pM, TA=%pM PWRMGT=%d\n" ,
1936
1936
hdr -> addr1 , hdr -> addr2 , !!ieee80211_has_pm (hdr -> frame_control ));
1937
1937
1938
- if (memcmp (hdr -> addr1 , dev -> dev_addr , ETH_ALEN )) {
1938
+ if (! ether_addr_equal (hdr -> addr1 , dev -> dev_addr )) {
1939
1939
PDEBUG (DEBUG_AP ,
1940
1940
"handle_pspoll - addr1(BSSID)=%pM not own MAC\n" ,
1941
1941
hdr -> addr1 );
@@ -2230,7 +2230,7 @@ static void handle_ap_item(local_info_t *local, struct sk_buff *skb,
2230
2230
goto done ;
2231
2231
}
2232
2232
2233
- if (memcmp (hdr -> addr1 , dev -> dev_addr , ETH_ALEN )) {
2233
+ if (! ether_addr_equal (hdr -> addr1 , dev -> dev_addr )) {
2234
2234
PDEBUG (DEBUG_AP , "handle_ap_item - addr1(BSSID)=%pM"
2235
2235
" not own MAC\n" , hdr -> addr1 );
2236
2236
goto done ;
@@ -2267,13 +2267,13 @@ static void handle_ap_item(local_info_t *local, struct sk_buff *skb,
2267
2267
goto done ;
2268
2268
}
2269
2269
2270
- if (memcmp (hdr -> addr1 , dev -> dev_addr , ETH_ALEN )) {
2270
+ if (! ether_addr_equal (hdr -> addr1 , dev -> dev_addr )) {
2271
2271
PDEBUG (DEBUG_AP , "handle_ap_item - addr1(DA)=%pM"
2272
2272
" not own MAC\n" , hdr -> addr1 );
2273
2273
goto done ;
2274
2274
}
2275
2275
2276
- if (memcmp (hdr -> addr3 , dev -> dev_addr , ETH_ALEN )) {
2276
+ if (! ether_addr_equal (hdr -> addr3 , dev -> dev_addr )) {
2277
2277
PDEBUG (DEBUG_AP , "handle_ap_item - addr3(BSSID)=%pM"
2278
2278
" not own MAC\n" , hdr -> addr3 );
2279
2279
goto done ;
@@ -3035,7 +3035,7 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
3035
3035
if (!wds ) {
3036
3036
/* FromDS frame - not for us; probably
3037
3037
* broadcast/multicast in another BSS - drop */
3038
- if (memcmp (hdr -> addr1 , dev -> dev_addr , ETH_ALEN ) == 0 ) {
3038
+ if (ether_addr_equal (hdr -> addr1 , dev -> dev_addr ) ) {
3039
3039
printk (KERN_DEBUG "Odd.. FromDS packet "
3040
3040
"received with own BSSID\n" );
3041
3041
hostap_dump_rx_80211 (dev -> name , skb , rx_stats );
@@ -3044,7 +3044,7 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
3044
3044
goto out ;
3045
3045
}
3046
3046
} else if (stype == IEEE80211_STYPE_NULLFUNC && sta == NULL &&
3047
- memcmp (hdr -> addr1 , dev -> dev_addr , ETH_ALEN ) == 0 ) {
3047
+ ether_addr_equal (hdr -> addr1 , dev -> dev_addr ) ) {
3048
3048
3049
3049
if (local -> hostapd ) {
3050
3050
prism2_rx_80211 (local -> apdev , skb , rx_stats ,
@@ -3073,7 +3073,7 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
3073
3073
/* If BSSID (Addr3) is foreign, this frame is a normal
3074
3074
* broadcast frame from an IBSS network. Drop it silently.
3075
3075
* If BSSID is own, report the dropping of this frame. */
3076
- if (memcmp (hdr -> addr3 , dev -> dev_addr , ETH_ALEN ) == 0 ) {
3076
+ if (ether_addr_equal (hdr -> addr3 , dev -> dev_addr ) ) {
3077
3077
printk (KERN_DEBUG "%s: dropped received packet from %pM"
3078
3078
" with no ToDS flag "
3079
3079
"(type=0x%02x, subtype=0x%02x)\n" , dev -> name ,
0 commit comments