]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: nl80211/cfg80211: Stop supporting cooked monitor
authorAlexander Wetzel <Alexander@wetzel-home.de>
Tue, 4 Feb 2025 11:13:51 +0000 (12:13 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 11 Feb 2025 10:58:17 +0000 (11:58 +0100)
Unconditionally start to refuse creating cooked monitor interfaces to
phase them out.

There is no feature flag for drivers to opt-in for cooked monitor and
all known users are using/preferring the modern API since the hostapd
release 1.0 in May 2012.

Signed-off-by: Alexander Wetzel <Alexander@wetzel-home.de>
Link: https://patch.msgid.link/20250204111352.7004-1-Alexander@wetzel-home.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
include/uapi/linux/nl80211.h
net/wireless/nl80211.c

index 363d7dd2255aaeb9fb645dcb1d4bd5215f19a6be..a72e7eb7027f2f85b5354a84f0e8b577b561cbe3 100644 (file)
@@ -2265,7 +2265,7 @@ static inline int cfg80211_get_station(struct net_device *dev,
  * @MONITOR_FLAG_PLCPFAIL: pass frames with bad PLCP
  * @MONITOR_FLAG_CONTROL: pass control frames
  * @MONITOR_FLAG_OTHER_BSS: disable BSSID filtering
- * @MONITOR_FLAG_COOK_FRAMES: report frames after processing
+ * @MONITOR_FLAG_COOK_FRAMES: deprecated, will unconditionally be refused
  * @MONITOR_FLAG_ACTIVE: active monitor, ACKs frames on its MAC address
  * @MONITOR_FLAG_SKIP_TX: do not pass locally transmitted frames
  */
index f6c1b181c886d23089c8a7a48ffb3c3fe6d63275..9d8ecf20ef0d46d04e221a9b8962cda65f68784c 100644 (file)
@@ -4727,8 +4727,8 @@ enum nl80211_survey_info {
  * @NL80211_MNTR_FLAG_PLCPFAIL: pass frames with bad PLCP
  * @NL80211_MNTR_FLAG_CONTROL: pass control frames
  * @NL80211_MNTR_FLAG_OTHER_BSS: disable BSSID filtering
- * @NL80211_MNTR_FLAG_COOK_FRAMES: report frames after processing.
- *     overrides all other flags.
+ * @NL80211_MNTR_FLAG_COOK_FRAMES: deprecated
+ *     will unconditionally be refused
  * @NL80211_MNTR_FLAG_ACTIVE: use the configured MAC address
  *     and ACK incoming unicast packets.
  * @NL80211_MNTR_FLAG_SKIP_TX: do not pass local tx packets
index d7d3da0f6833d5c0db79777cb85b58bb87c47efa..8bd09110d393e968e6164dde60180d47810e5ca7 100644 (file)
@@ -4245,6 +4245,10 @@ static int nl80211_parse_mon_options(struct cfg80211_registered_device *rdev,
                change = true;
        }
 
+       /* MONITOR_FLAG_COOK_FRAMES is deprecated, refuse cooperation */
+       if (params->flags & MONITOR_FLAG_COOK_FRAMES)
+               return -EOPNOTSUPP;
+
        if (params->flags & MONITOR_FLAG_ACTIVE &&
            !(rdev->wiphy.features & NL80211_FEATURE_ACTIVE_MONITOR))
                return -EOPNOTSUPP;