mirror-linux/net/mac80211
Benjamin Berg 1eab33aa63 wifi: mac80211: correctly decode TTLM with default link map
TID-To-Link Mapping (TTLM) elements do not contain any link mapping
presence indicator if a default mapping is used and parsing needs to be
skipped.

Note that access points should not explicitly report an advertised TTLM
with a default mapping as that is the implied mapping if the element is
not included, this is even the case when switching back to the default
mapping. However, mac80211 would incorrectly parse the frame and would
also read one byte beyond the end of the element.

Reported-by: Ruikai Peng <ruikai@pwno.io>
Closes: https://lore.kernel.org/linux-wireless/CAFD3drMqc9YWvTCSHLyP89AOpBZsHdZ+pak6zVftYoZcUyF7gw@mail.gmail.com
Fixes: 702e80470a ("wifi: mac80211: support handling of advertised TID-to-link mapping")
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Link: https://patch.msgid.link/20260129113349.d6b96f12c732.I69212a50f0f70db185edd3abefb6f04d3cb3e5ff@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-01-29 11:46:43 +01:00
..
tests wifi: mac80211: pass frame type to element parsing 2025-11-10 10:39:02 +01:00
Kconfig mac80211: MAC80211_MESSAGE_TRACING should depend on TRACING 2024-10-08 21:14:57 +02:00
Makefile wifi: mac80211: move element parsing to a new file 2024-02-08 15:00:43 +01:00
aead_api.c
aead_api.h
aes_ccm.h
aes_cmac.c wifi: mac80211: refactor CMAC crypt functions 2025-11-20 11:56:19 +01:00
aes_cmac.h wifi: mac80211: refactor CMAC crypt functions 2025-11-20 11:56:19 +01:00
aes_gcm.h
aes_gmac.c wifi: mac80211: utilize the newly defined CMAC constants 2025-11-20 11:56:19 +01:00
aes_gmac.h wifi: mac80211: utilize the newly defined CMAC constants 2025-11-20 11:56:19 +01:00
agg-rx.c wifi: mac80211: pass frame type to element parsing 2025-11-10 10:39:02 +01:00
agg-tx.c wifi: mac80211: add support for S1G aggregation 2025-06-24 15:19:28 +02:00
airtime.c wifi: mac80211: introduce EHT rate support in AQL airtime 2024-09-06 12:58:36 +02:00
cfg.c wifi: mac80211: do not use old MBSSID elements 2025-12-16 10:30:22 +01:00
chan.c wifi: mac80211: don't iterate not running interfaces 2026-01-08 13:33:10 +01:00
debug.h wifi: mac80211: don't WARN for late channel/color switch 2025-06-17 14:30:06 +02:00
debugfs.c wifi: mac80211: remove tx_handlers_drop debugfs stats 2025-09-19 11:50:48 +02:00
debugfs.h
debugfs_key.c wifi: mac80211: Clean up debugfs_key deadcode 2025-01-13 13:51:19 +01:00
debugfs_key.h wifi: mac80211: Clean up debugfs_key deadcode 2025-01-13 13:51:19 +01:00
debugfs_netdev.c wifi: mac80211: Remove redundant rcu_read_lock/unlock() in spin_lock 2025-09-19 11:48:14 +02:00
debugfs_netdev.h wifi: mac80211: fix driver debugfs for vif type change 2024-02-02 13:09:55 +01:00
debugfs_sta.c wifi: mac80211: Remove redundant rcu_read_lock/unlock() in spin_lock 2025-09-19 11:48:14 +02:00
debugfs_sta.h
driver-ops.c wifi: mac80211: make monitor link info check more specific 2025-11-11 11:05:19 +01:00
driver-ops.h wifi: mac80211: fix incorrect type for ret 2025-08-26 13:46:48 +02:00
drop.h wifi: mac80211: Drop cooked monitor support 2025-02-11 11:58:17 +01:00
eht.c wifi: mac80211: fix MPDU length parsing for EHT 5/6 GHz 2025-03-12 09:29:14 +01:00
ethtool.c wifi: mac80211: add tx_handlers_drop statistics to ethtool 2025-09-10 15:04:27 +02:00
fils_aead.c wifi: mac80211: Do not include crypto/algapi.h 2023-08-24 08:42:36 +02:00
fils_aead.h
he.c wifi: mac80211: simplify ieee80211_recalc_chanctx_min_def() API 2025-11-10 10:38:50 +01:00
ht.c wifi: mac80211: handle WLAN_HT_ACTION_NOTIFY_CHANWIDTH async 2025-07-15 11:00:39 +02:00
ibss.c wifi: mac80211: pass frame type to element parsing 2025-11-10 10:39:02 +01:00
ieee80211_i.h wifi: mac80211: apply advertised TTLM from association response 2026-01-20 10:02:01 +01:00
iface.c wifi: mac80211: correctly check if CSA is active 2026-01-12 19:36:18 +01:00
key.c wifi: mac80211: don't increment crypto_tx_tailroom_needed_cnt twice 2026-01-20 10:01:43 +01:00
key.h wifi: mac80211: remove key_mtx 2023-09-11 11:27:22 +02:00
led.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
led.h leds: Change led_trigger_blink[_oneshot]() delay parameters to pass-by-value 2023-05-25 12:16:27 +01:00
link.c wifi: mac80211: remove unnecessary vlan NULL check 2025-11-10 10:39:08 +01:00
main.c wifi: mac80211: make monitor link info check more specific 2025-11-11 11:05:19 +01:00
mesh.c wifi: mac80211: pass frame type to element parsing 2025-11-10 10:39:02 +01:00
mesh.h wifi: mac80211: split mesh fast tx cache into local/proxied/forwarded 2024-04-17 09:21:32 +02:00
mesh_hwmp.c wifi: mac80211: pass frame type to element parsing 2025-11-10 10:39:02 +01:00
mesh_pathtbl.c wifi: mac80211: Replace __get_unaligned_cpu32 in mesh_pathtbl.c 2025-04-23 15:28:50 +02:00
mesh_plink.c wifi: mac80211: pass frame type to element parsing 2025-11-10 10:39:02 +01:00
mesh_ps.c wifi: mac80211: support parsing S1G TIM PVB 2025-09-04 11:19:01 +02:00
mesh_sync.c wifi: mac80211, cfg80211: miscellaneous spelling fixes 2024-10-08 21:52:09 +02:00
michael.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
michael.h
mlme.c wifi: mac80211: correctly decode TTLM with default link map 2026-01-29 11:46:43 +01:00
ocb.c wifi: mac80211: ocb: skip rx_no_sta when interface is not joined 2025-12-16 10:33:14 +01:00
offchannel.c wifi: mac80211: Support Tx of action frame for NAN 2025-09-19 11:26:22 +02:00
parse.c wifi: mac80211: pass frame type to element parsing 2025-11-10 10:39:02 +01:00
pm.c wifi: cfg80211/mac80211: Add support to get radio index 2025-06-24 15:19:27 +02:00
rate.c wifi: mac80211: Support Tx of action frame for NAN 2025-09-19 11:26:22 +02:00
rate.h wifi: mac80211: convert debugfs files to short fops 2024-10-23 16:47:07 +02:00
rc80211_minstrel_ht.c wifi: cfg80211/mac80211: remove more 5/10 MHz code 2025-04-23 15:21:32 +02:00
rc80211_minstrel_ht.h
rc80211_minstrel_ht_debugfs.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
rx.c wifi: mac80211: Discard Beacon frames to non-broadcast address 2025-12-16 10:18:00 +01:00
s1g.c wifi: mac80211: handle station association response with S1G 2025-06-24 15:19:28 +02:00
scan.c wifi: mac80211: don't perform DA check on S1G beacon 2026-01-20 10:01:02 +01:00
spectmgmt.c wifi: mac80211: Avoid -Wflex-array-member-not-at-end warnings 2025-04-23 15:20:20 +02:00
sta_info.c wifi: mac80211: collect station statistics earlier when disconnect 2026-01-08 13:33:11 +01:00
sta_info.h wifi: mac80211: add support to accumulate removed link statistics 2025-06-24 15:19:26 +02:00
status.c wifi: mac80211: Get the correct interface for non-netdev skb status 2025-09-19 11:26:23 +02:00
tdls.c wifi: mac80211: pass frame type to element parsing 2025-11-10 10:39:02 +01:00
tkip.c Merge net-next/main to resolve conflicts 2024-10-09 08:59:22 +02:00
tkip.h
trace.c
trace.h wifi: cfg80211/mac80211: Add support to get radio index 2025-06-24 15:19:27 +02:00
trace_msg.h wifi: mac80211: remove unused MAX_MSG_LEN define 2024-02-08 12:50:09 +01:00
tx.c wifi: mac80211: restore non-chanctx injection behaviour 2026-01-08 13:33:10 +01:00
util.c wifi: mac80211: track MU-MIMO configuration on disabled interfaces 2025-11-11 11:05:10 +01:00
vht.c wifi: mac80211: make VHT opmode NSS ignore a debug message 2025-07-15 10:59:11 +02:00
wbrf.c wifi: mac80211: use cfg80211_chandef_get_width() 2025-03-12 09:50:27 +01:00
wep.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
wep.h
wme.c wifi: mac80211: fix qos on mesh interfaces 2023-03-22 13:46:38 +01:00
wme.h
wpa.c wifi: mac80211: refactor CMAC packet handlers 2025-11-20 11:56:19 +01:00
wpa.h wifi: mac80211: refactor CMAC packet handlers 2025-11-20 11:56:19 +01:00