mac80211: drop frames with unexpected DS bits from fast-rx to slow path
authorFelix Fietkau <nbd@nbd.name>
Fri, 23 Feb 2018 09:06:03 +0000 (10:06 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 23 Feb 2018 11:13:17 +0000 (12:13 +0100)
Fixes rx for 4-addr packets in AP mode. These may be used for setting
up a 4-addr link for stations that are allowed to do so.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/rx.c

index fd58061..56fe16b 100644 (file)
@@ -3921,7 +3921,7 @@ static bool ieee80211_invoke_fast_rx(struct ieee80211_rx_data *rx,
        if ((hdr->frame_control & cpu_to_le16(IEEE80211_FCTL_FROMDS |
                                              IEEE80211_FCTL_TODS)) !=
            fast_rx->expected_ds_bits)
-               goto drop;
+               return false;
 
        /* assign the key to drop unencrypted frames (later)
         * and strip the IV/MIC if necessary