mirror of
https://github.com/torvalds/linux
synced 2024-09-19 18:46:35 +00:00
wifi: mac80211: drop injection on disabled-chan monitor
If the driver uses the new IEEE80211_CHAN_CAN_MONITOR, we may monitor on channels that are, e.g. via regulatory, otherwise considered disabled. However, we really shouldn't transmit on them, so prevent that. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://msgid.link/20240206164849.9c03dcf67dbe.Ib86a851c274c440908c663f6dd774b79bfc3965d@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
a110a3b791
commit
49c17da387
|
@ -5,7 +5,7 @@
|
|||
* Copyright 2006-2007 Jiri Benc <jbenc@suse.cz>
|
||||
* Copyright 2007 Johannes Berg <johannes@sipsolutions.net>
|
||||
* Copyright 2013-2014 Intel Mobile Communications GmbH
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
* Copyright (C) 2018-2024 Intel Corporation
|
||||
*
|
||||
* Transmit and frame generation functions.
|
||||
*/
|
||||
|
@ -2393,6 +2393,14 @@ netdev_tx_t ieee80211_monitor_start_xmit(struct sk_buff *skb,
|
|||
else
|
||||
goto fail_rcu;
|
||||
|
||||
/*
|
||||
* If driver/HW supports IEEE80211_CHAN_CAN_MONITOR we still
|
||||
* shouldn't transmit on disabled channels.
|
||||
*/
|
||||
if (!cfg80211_chandef_usable(local->hw.wiphy, chandef,
|
||||
IEEE80211_CHAN_DISABLED))
|
||||
goto fail_rcu;
|
||||
|
||||
/*
|
||||
* Frame injection is not allowed if beaconing is not allowed
|
||||
* or if we need radar detection. Beaconing is usually not allowed when
|
||||
|
|
Loading…
Reference in a new issue