Эх сурвалжийг харах

mac80211: Only accept data frames in OCB mode

Currently OCB mode accepts frames with bssid==broadcast and type!=beacon.
Some non-data frames are sent matching this, for example probe responses.
This results in unnecessary creation of STA entries.

Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@esat.kuleuven.be>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Bertold Van den Bergh 10 жил өмнө
parent
commit
cc11729893

+ 1 - 1
net/mac80211/rx.c

@@ -3316,7 +3316,7 @@ static bool ieee80211_accept_frame(struct ieee80211_rx_data *rx)
 	case NL80211_IFTYPE_OCB:
 	case NL80211_IFTYPE_OCB:
 		if (!bssid)
 		if (!bssid)
 			return false;
 			return false;
-		if (ieee80211_is_beacon(hdr->frame_control))
+		if (!ieee80211_is_data_present(hdr->frame_control))
 			return false;
 			return false;
 		if (!is_broadcast_ether_addr(bssid))
 		if (!is_broadcast_ether_addr(bssid))
 			return false;
 			return false;