diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index e946ee4f335bd76f3bf8c166b9ef9d9593c6d6d5..7523d995ea8abe0d26973f04e181898ca3f5cc7f 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -3752,6 +3752,8 @@ static bool ieee80211_accept_frame(struct ieee80211_rx_data *rx) case NL80211_IFTYPE_STATION: if (!bssid && !sdata->u.mgd.use_4addr) return false; + if (ieee80211_is_robust_mgmt_frame(skb) && !rx->sta) + return false; if (multicast) return true; return ether_addr_equal(sdata->vif.addr, hdr->addr1);