Fredrik Olofsson
a6fdd8858c
mac80211: fix TID field in monitor mode transmit
...
[ Upstream commit 753ffad3d6243303994227854d951ff5c70fa9e0 ]
Fix overwriting of the qos_ctrl.tid field for encrypted frames injected on
a monitor interface. While qos_ctrl.tid is not encrypted, it's used as an
input into the encryption algorithm so it's protected, and thus cannot be
modified after encryption. For injected frames, the encryption may already
have been done in userspace, so we cannot change any fields.
Before passing the frame to the driver, the qos_ctrl.tid field is updated
from skb->priority. Prior to dbd50a851c skb->priority was updated in
ieee80211_select_queue_80211(), but this function is no longer always
called.
Update skb->priority in ieee80211_monitor_start_xmit() so that the value
is stored, and when later code 'modifies' the TID it really sets it to
the same value as before, preserving the encryption.
Fixes: dbd50a851c ("mac80211: only allocate one queue when using iTXQs")
Signed-off-by: Fredrik Olofsson <fredrik.olofsson@anyfinetworks.com>
Link: https://lore.kernel.org/r/20191119133451.14711-1-fredrik.olofsson@anyfinetworks.com
[rewrite commit message based on our discussion]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-12 12:21:28 +01:00
..
aead_api.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
aead_api.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
aes_ccm.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
aes_cmac.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
aes_cmac.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
aes_gcm.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
aes_gmac.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
aes_gmac.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
agg-rx.c
mac80211: add missing null return check from call to ieee80211_get_sband
2019-07-31 10:51:17 +02:00
agg-tx.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
cfg.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
2019-09-15 14:17:27 +02:00
chan.c
debug.h
debugfs.c
mac80211: AMPDU handling for rekeys with Extended Key ID
2019-07-26 13:29:10 +02:00
debugfs.h
debugfs_key.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-06-22 08:59:24 -04:00
debugfs_key.h
debugfs_netdev.c
mac80211: fix txq null pointer dereference
2019-10-01 17:56:19 +02:00
debugfs_netdev.h
debugfs_sta.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-06-22 08:59:24 -04:00
debugfs_sta.h
driver-ops.c
mac80211: don't warn about CW params when not using them
2019-07-20 21:40:32 +02:00
driver-ops.h
mac80211: pass the vif to cancel_remain_on_channel
2019-07-26 13:08:28 +02:00
ethtool.c
fils_aead.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
fils_aead.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
he.c
mac80211: fix possible NULL pointerderef in obss pd code
2019-08-21 10:58:32 +02:00
ht.c
mac80211: add support for the ADDBA extension element
2019-07-29 16:40:22 +02:00
ibss.c
mac80211: IBSS: send deauth when expiring inactive STAs
2019-09-11 09:33:29 +02:00
ieee80211_i.h
mac80211: IBSS: send deauth when expiring inactive STAs
2019-09-11 09:33:29 +02:00
iface.c
mac80211: allow drivers to set max MTU
2019-09-11 09:33:29 +02:00
Kconfig
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
key.c
mac80211: don't check if key is NULL in ieee80211_key_link()
2019-09-11 09:33:28 +02:00
key.h
mac80211: clear crypto tx tailroom counter upon keys enable
2019-09-11 09:33:28 +02:00
led.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
led.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
main.c
mac80211: fix ieee80211_txq_setup_flows() failure path
2019-11-08 09:11:33 +01:00
Makefile
mesh.c
mac80211: implement HE support for mesh
2019-07-26 16:14:12 +02:00
mesh.h
mac80211: implement HE support for mesh
2019-07-26 16:14:12 +02:00
mesh_hwmp.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
mesh_pathtbl.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
mesh_plink.c
mac80211: implement HE support for mesh
2019-07-26 16:14:12 +02:00
mesh_ps.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
mesh_sync.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
michael.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
michael.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
mlme.c
mac80211: Reject malformed SSID elements
2019-10-04 14:01:14 +02:00
ocb.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
offchannel.c
mac80211: pass the vif to cancel_remain_on_channel
2019-07-26 13:08:28 +02:00
pm.c
rate.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-06-22 08:59:24 -04:00
rate.h
mac80211: remove unused and unneeded remove_sta_debugfs callback
2019-07-26 13:21:12 +02:00
rc80211_minstrel.c
rc80211_minstrel.h
mac80211: minstrel_ht: improve rate probing for devices with static fallback
2019-08-21 11:10:13 +02:00
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht.c
mac80211: minstrel_ht: fix infinite loop because supported is not being shifted
2019-08-22 21:58:18 +02:00
rc80211_minstrel_ht.h
mac80211: minstrel_ht: improve rate probing for devices with static fallback
2019-08-21 11:10:13 +02:00
rc80211_minstrel_ht_debugfs.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
rx.c
mac80211: accept deauth frames in IBSS mode
2019-10-07 21:59:48 +02:00
scan.c
mac80211: fix scan when operating on DFS channels in ETSI domains
2019-10-07 22:10:50 +02:00
spectmgmt.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
sta_info.c
mac80211: fix station inactive_time shortly after boot
2019-11-08 09:17:28 +01:00
sta_info.h
mac80211: add assoc-at support
2019-08-21 10:58:10 +02:00
status.c
mac80211: consider QoS Null frames for STA_NULLFUNC_ACKED
2019-12-31 16:45:44 +01:00
tdls.c
tkip.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
tkip.h
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
trace.c
trace.h
mac80211: pass the vif to cancel_remain_on_channel
2019-07-26 13:08:28 +02:00
trace_msg.h
tx.c
mac80211: fix TID field in monitor mode transmit
2020-01-12 12:21:28 +01:00
util.c
mac80211: keep BHs disabled while calling drv_tx_wake_queue()
2019-10-01 17:56:19 +02:00
vht.c
mac80211: vht: add support VHT EXT NSS BW in parsing VHT
2019-09-11 09:13:03 +02:00
wep.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
wep.h
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
wme.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
wme.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
wpa.c
mac80211: add IEEE80211_KEY_FLAG_GENERATE_MMIE to ieee80211_key_flags
2019-07-26 16:14:12 +02:00
wpa.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00