@@ -2416,12 +2416,12 @@ static int ieee80211_drop_unencrypted_mgmt(struct ieee80211_rx_data *rx)
2416
2416
* decrypted them already.
2417
2417
*/
2418
2418
if (status -> flag & RX_FLAG_DECRYPTED )
2419
- return 0 ;
2419
+ return RX_CONTINUE ;
2420
2420
2421
2421
/* drop unicast protected dual (that wasn't protected) */
2422
2422
if (ieee80211_is_action (fc ) &&
2423
2423
mgmt -> u .action .category == WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION )
2424
- return - EACCES ;
2424
+ return RX_DROP_U_UNPROT_DUAL ;
2425
2425
2426
2426
if (rx -> sta && test_sta_flag (rx -> sta , WLAN_STA_MFP )) {
2427
2427
if (unlikely (!ieee80211_has_protected (fc ) &&
@@ -2433,13 +2433,13 @@ static int ieee80211_drop_unencrypted_mgmt(struct ieee80211_rx_data *rx)
2433
2433
* during 4-way-HS (key is installed after HS).
2434
2434
*/
2435
2435
if (!rx -> key )
2436
- return 0 ;
2436
+ return RX_CONTINUE ;
2437
2437
2438
2438
cfg80211_rx_unprot_mlme_mgmt (rx -> sdata -> dev ,
2439
2439
rx -> skb -> data ,
2440
2440
rx -> skb -> len );
2441
2441
}
2442
- return - EACCES ;
2442
+ return RX_DROP_U_UNPROT_UCAST_MGMT ;
2443
2443
}
2444
2444
/* BIP does not use Protected field, so need to check MMIE */
2445
2445
if (unlikely (ieee80211_is_multicast_robust_mgmt_frame (rx -> skb ) &&
@@ -2449,28 +2449,28 @@ static int ieee80211_drop_unencrypted_mgmt(struct ieee80211_rx_data *rx)
2449
2449
cfg80211_rx_unprot_mlme_mgmt (rx -> sdata -> dev ,
2450
2450
rx -> skb -> data ,
2451
2451
rx -> skb -> len );
2452
- return - EACCES ;
2452
+ return RX_DROP_U_UNPROT_MCAST_MGMT ;
2453
2453
}
2454
2454
if (unlikely (ieee80211_is_beacon (fc ) && rx -> key &&
2455
2455
ieee80211_get_mmie_keyidx (rx -> skb ) < 0 )) {
2456
2456
cfg80211_rx_unprot_mlme_mgmt (rx -> sdata -> dev ,
2457
2457
rx -> skb -> data ,
2458
2458
rx -> skb -> len );
2459
- return - EACCES ;
2459
+ return RX_DROP_U_UNPROT_BEACON ;
2460
2460
}
2461
2461
/*
2462
2462
* When using MFP, Action frames are not allowed prior to
2463
2463
* having configured keys.
2464
2464
*/
2465
2465
if (unlikely (ieee80211_is_action (fc ) && !rx -> key &&
2466
2466
ieee80211_is_robust_mgmt_frame (rx -> skb )))
2467
- return - EACCES ;
2467
+ return RX_DROP_U_UNPROT_ACTION ;
2468
2468
2469
2469
/* drop unicast public action frames when using MPF */
2470
2470
if (is_unicast_ether_addr (mgmt -> da ) &&
2471
2471
ieee80211_is_public_action ((void * )rx -> skb -> data ,
2472
2472
rx -> skb -> len ))
2473
- return - EACCES ;
2473
+ return RX_DROP_U_UNPROT_UNICAST_PUB_ACTION ;
2474
2474
}
2475
2475
2476
2476
return 0 ;
@@ -3400,10 +3400,7 @@ ieee80211_rx_h_mgmt_check(struct ieee80211_rx_data *rx)
3400
3400
rx -> flags |= IEEE80211_RX_BEACON_REPORTED ;
3401
3401
}
3402
3402
3403
- if (ieee80211_drop_unencrypted_mgmt (rx ))
3404
- return RX_DROP_U_UNPROT_ACTION ;
3405
-
3406
- return RX_CONTINUE ;
3403
+ return ieee80211_drop_unencrypted_mgmt (rx );
3407
3404
}
3408
3405
3409
3406
static bool
0 commit comments