📡 Linux 无线子系统邮件列表周报
报告周期: 2026-08-06 (周四) — 2026-08-12 (周三)数据来源: lore.kernel.org/linux-wireless/0.git报告生成: 2026-08-13
📊 本周概览
📋 本周要点速览
- 1. 🔴 ath12k OOB 访问修复 — Pardeep Kaur 修复 TX stats 数组越界访问(CRITICAL)
- 2. 🔴 ath12k channel list 双重释放 — Linkai Gong 修复错误路径上的 double-free 和 dangling pointer
- 3. 🔴 ath11k QMI 初始化失败修复 — Miaoqing Pan 修复 QRTR 就绪前的 WLAN 初始化失败、NULL 解引用等三个问题
- 4. 🔴 mt76 锁反转修复 — Devin Wittmayer 修复 mt7921/mt7925 的 dev->mutex 与 iflist_mtx 锁反转
- 5. 🔴 mt7915 thermal zone UAF — Ryan Leung 修复使用后释放和 cooling device 泄漏
- 6. 🔴 wilc1000 P2P OOB 读取 — Ali Ahmet Memis 修复 P2P public action 帧越界读取
- 7. 🔴 aic 堆栈缓冲区溢出 — Tim Michals 修复 aicbt_patch_info_unpack 中的堆栈溢出
- 8. 🔴 mm81x 固件解析修复 — Linmao Li 4 个补丁系列加固固件 TLV 和 host table 越界
- 9. 🟠 brcmfmac FT/OKC 漫游卸载 — Jason Huang 5 补丁系列添加固件 FBT/OKC 漫游卸载支持
- 10. 🟠 ath11k/ath12k TX 流控 — Jose Ignacio Tornos Martinez 实现自定义 wake_tx_queue 流控
- 11. 🟠 rtw88 RTL8723BS 预备 — luka.gejak 7 补丁系列为 RTL8723B/BS 添加 SDIO 支持
- 12. 🟠 Loic Poulain NVMEM v10 — 块设备 NVMEM 提供者、蓝牙固件地址 10 补丁系列
- 13. 🟠 80211 协议栈 — nl80211 漫游卸载扩展、mac80211 AP_VLAN 保护、FT key 上传延迟讨论
🔴 安全修复详解
1. ath12k: fix out-of-bounds access on TX stats arrays
作者: Pardeep Kaur版本: v3 (1/8) | 严重性: 🔴 CRITICAL问题: TX stats 数组使用了不正确的索引边界,导致在特定 TX 完成路径下可能访问越界内存。修复: 在 ath12k_dp_tx_complete() 中增加数组边界检查,确保 ring ID 在有效范围内再访问 stats 数组,防止 OOB 访问导致的内核崩溃或信息泄露。影响范围: 所有 ath12k 设备(WCN7850, QCN9274 等),在高吞吐量场景下极易触发。
2. ath12k: fix channel list double-free on error paths
作者: Linkai Gong版本: v2 | 严重性: 🔴 CRITICAL问题: 在 ath12k 的 MAC 层初始化错误路径上,channel list 存在双重释放(double-free)漏洞,可能导致内核内存损坏。修复: 在错误处理路径中增加 NULL 检查和释放后置空,防止同一指针被释放两次。影响范围: 所有 ath12k 设备,主要在初始化失败场景下触发。
3. ath12k: clear dangling channel pointers on error paths
作者: Linkai Gong严重性: 🔴 HIGH问题: 在错误处理路径中,channel list 指针(dangling pointer)未被清零,导致后续操作可能访问已释放的内存区域。修复: 在释放后显式将指针置 NULL,防止悬挂指针导致的 UAF 问题。影响范围: ath12k 初始化错误路径。
4. ath12k: fix 1-based ring index in REO Rx Received debugfs output
作者: Pardeep Kaur版本: v3 (7/8) | 严重性: 🟡 MEDIUM问题: REO RX Received debugfs 输出使用了 1-based 的 ring 索引而非 0-based,导致索引 0 缺失,影响调试准确性。修复: 将索引基础从 1 改为 0,使得 ring 索引与硬件寄存器一致。影响范围: 调试接口,不影响运行时行为。
5. ath11k: fix NULL dereference in ahb remove when QMI init incomplete
作者: Miaoqing Pan版本: ath-current v2 (2/3) | 严重性: 🔴 CRITICAL问题: 当 QMI 初始化未完成时,ath11k AHB 移除路径会触发 NULL 解引用,导致内核崩溃。修复: 在 ahb remove 中增加对 QMI 初始化状态的检查,仅在完全初始化后执行 teardown 操作。影响范围: 所有 ath11k AHB 设备(QCA6390, WCN6855 等),在热移除或异常初始化失败时触发。
6. ath11k: fix sporadic WLAN initialization failures
作者: Miaoqing Pan版本: ath-current v2 (1/3) | 严重性: 🟡 HIGH问题: QRTR 就绪时序问题导致 WLAN 初始化偶发失败,表现为随机性初始连接失败。修复: 在 QRTR 服务就绪后重新尝试初始化,确保 QMI 消息能够正确路由。影响范围: 所有 ath11k 设备,影响用户体验的初始化可靠性。
7. ath11k: unregister PM notifier on QMI init failure path
作者: Miaoqing Pan版本: ath-current v2 (3/3) | 严重性: 🟡 MEDIUM问题: QMI 初始化失败时未注销 PM notifier,导致设备移除后仍残留 PM 回调,可能造成空指针访问。修复: 在 QMI 失败路径中增加 PM notifier 注销。影响范围: ath11k QMI 初始化失败场景。
8. mt76: mt792x: fix memory leak in USB TX path
作者: Eason Lai (MTK)严重性: 🟡 MEDIUM问题: USB TX 路径上存在 skb 内存泄漏,在特定条件下(如系统内存压力大时)未释放 TX 缓冲区。修复: 在 USB TX 完成回调中增加 skb 释放逻辑,确保所有 TX 路径都正确释放资源。影响范围: 所有 mt792x USB 设备(MT7921U, MT7925U 等)。
9. mt76: mt7921/mt7925: fix lock inversion between dev->mutex and iflist_mtx
作者: Devin Wittmayer版本: wireless (1/2, 2/2) | 严重性: 🔴 CRITICAL问题: dev->mutex 与 iflist_mtx 之间存在锁反转(lock inversion)死锁风险,可能在 .config 操作中触发。修复: 调整锁获取顺序,确保始终按照 dev->mutex → iflist_mtx 的顺序获取,避免死锁。影响范围: 所有 mt7921/mt7925 设备,在并发接口配置操作中极易触发死锁。
10. mt76: mt7915: fix thermal zone use-after-free and cooling device leak
作者: Ryan Leung版本: v2 | 严重性: 🔴 HIGH问题: mt7915 thermal zone 在设备移除时存在使用后释放(UAF)和 cooling device 泄漏问题。修复: 重新排序 thermal zone 的注销和释放顺序,确保在设备移除前正确销毁 thermal zone。影响范围: mt7915 设备,在热插拔或模块卸载时触发。
11. brcmfmac: fix lost 802.1x TX completion wakeup
作者: Karl Mehltretter严重性: 🔴 HIGH问题: brcmfmac 在 802.1x 认证过程中,TX completion 的唤醒信号丢失,导致认证流程永久阻塞。修复: 修复 TX completion 路径上的唤醒逻辑,确保所有等待队列都能正确收到完成信号。影响范围: 所有 brcmfmac 设备,影响 802.1x 企业级认证。
12. rtw88: fix out-of-bounds CAM write when key table is full
作者: Ping-Ke Shih (Realtek) 评严重性: 🟡 MEDIUM问题: 当 CAM (Content Addressable Memory) 密钥表满时,写入操作未做边界检查,导致越界写入。修复: 在写入 CAM 前检查密钥表是否已满,防止越界。影响范围: rtw88 设备(RTL8822BE, RTL8822CE 等)。
13. rtw89: 8851b: fix swapped DPK channel/bandwidth backup fields
作者: Yi Cong严重性: 🟡 LOW问题: 8851B 的 DPK 校准中 channel/bandwidth 备份字段顺序颠倒,导致校准数据错误。修复: 交换备份字段顺序,使其与硬件寄存器定义一致。影响范围: rtw89 8851B 设备,影响 DPK 校准精度。
14. wilc1000: fix out-of-bounds read in P2P public action frames
作者: Ali Ahmet Memis严重性: 🔴 HIGH问题: P2P public action 帧解析时未验证帧长度,可能导致越界读取。修复: 在解析前增加帧长度校验,确保不读取超出 skb 数据范围的内容。影响范围: wilc1000 设备,在接收恶意 P2P 帧时可触发。
15. aic: fix stack buffer overflow in aicbt_patch_info_unpack
作者: Tim Michals版本: RFC v2 (1/2) | 严重性: 🔴 CRITICAL问题: aicbt_patch_info_unpack 函数中存在堆栈缓冲区溢出漏洞,可能被恶意固件补丁信息利用。修复: 增加缓冲区大小检查和边界验证,防止堆栈溢出。影响范围: AIC 系列无线芯片,在加载固件补丁时触发。
16. mm81x: firmware and host table parsing fixes (4 patches)
作者: Linmao Li版本: wireless-next (0/4) | 严重性: 🔴 HIGH系列内容:
- • 1/4: 固件解析失败时释放 scratch buffer,防止内存泄漏
- • 2/4: 不丢弃失败的固件 segment 写入,提高容错性
- • 3/4: 限制 .fw_info TLV 遍历范围,防止越界遍历
- • 4/4: 限制扩展 host table 遍历范围,防止越界访问
影响范围: mm81x (Morse Micro) 设备,在固件加载异常时可能触发。
17. nxpwifi: fix sta_list locking and the deauth leak (2 patches)
作者: Linmao Li版本: wireless-next (0/2) | 严重性: 🟡 HIGH系列内容:
- • 1/2: 使用 RCU 保护 sta_list 并发添加/删除,防止竞态
- • 2/2: uAP deauth 事件中正确删除 station entry,防止泄漏
影响范围: NXP IW61x 设备。
18. mwifiex: validate action frame fixed fields
作者: Brian Norris 评审严重性: 🟡 MEDIUM修复: 验证 action frame 的固定字段长度合法性,防止越界处理。
🟠 新功能与驱动支持
1. brcmfmac: 添加 FT/OKC 漫游卸载支持
作者: Jason Huang | 版本: v4 (0/5)系列:
- • 1/5: nl80211 添加 roam offload extended feature
- • 2/5: brcmfmac 检测固件 FBT 和 OKC 支持
- • 3/5: brcmfmac 添加 PMK 编程支持
- • 4/5: brcmfmac 报告漫游卸载后的端口授权状态
- • 5/5: brcmfmac 通告固件漫游卸载支持
技术分析: 这是本周最关键的协议栈+驱动联合功能增强。通过 nl80211 扩展特征位,向用户空间通告固件支持的漫游卸载能力(FBT / OKC),然后在 brcmfmac 驱动中实现 PMK 编程接口,使固件能够自主完成快速 BSS 转换(FT)和机会性密钥缓存(OKC)漫游,减少漫游延迟。
2. ath11k/ath12k: 实现 TX 流控
作者: Jose Ignacio Tornos Martinez | 版本: v6 (0/4)技术分析: 重写 ath11k/ath12k 的 TX 路径,实现自定义 wake_tx_queue 回调并引入流控机制。通过 per-AC 的 ring 选择映射、移除 skb 参数传递、以及在队列拥塞时暂停/恢复传输,解决了在高吞吐量场景下数据路径停滞的问题。
3. rtw88: RTL8723B/BS 预备支持
作者: luka.gejak | 版本: v4 (0/7)系列:
- • 1/7: 添加 RTL8723B 芯片类型和 SDIO 辅助函数
- • 3/7: 扩展 TX report purge 超时
- • 4/7: 处理 RTL8723BS 管理 TX 报告
- • 5/7: 跟踪空闲 TX 页面和 OQT 信用
4. mt76: mt7925 AXI DMA 校准缓存
作者: Allan Wang | 版本: v3功能: 为 MT7928 添加 AXI DMA 校准缓存,减少 DMA 校准开销。
5. mt76: mt7996 热区注册
作者: Ryan Leung | 版本: v4功能: 为 mt7996 添加 thermal zone 设备注册,支持温度监控。
6. mt76: mt7925 coex_info debugfs
作者: JB Tsai功能: 添加 WiFi/BT 共存信息 debugfs 接口,便于调试。
7. mt76: mt7928 6GHz 功率模式 debugfs
作者: JB Tsai功能: 添加 debugfs 接口固定 6GHz 功率模式。
8. Loic Poulain NVMEM v10 系列
作者: Loic Poulain | 版本: v10 (0/10)技术分析: 完整的块设备 NVMEM 提供者框架。核心创新是将 NVMEM 概念扩展到块设备层,允许从 eMMC/SD 卡等块设备读取 MAC 地址。包括:
- • 蓝牙 QCA 芯片通过 NVMEM 获取 BD 地址
9. ath12k: 多PD共享固件加载支持
作者: Aaradhana Sahu功能: 支持在多 PD(PCIe Domain)配置中加载共享固件。
10. ath12k: 扩展 DP 统计可观测性
作者: Pardeep Kaur | 版本: v3 (0/8)系列: 8 个补丁增强设备 DP stats,包括 TCL 缓冲分配失败计数、WBM RX 错误丢弃统计、TX 完成统计等 debugfs 接口。
11. iw: 支持 skip TX monitor flag
作者: Alex Gavin功能: iw 工具添加 skip TX monitor flag 支持。
12. virt_wifi: 断开时释放 skb
作者: Mariano Baragiola修复: 在断开连接时正确释放 skb,防止内存泄漏。
13. brcmfmac: PM_MAX 电源管理可选
作者: Alexander Fischer功能: 允许选择最高级电源管理(PM_MAX)。
14. mac80211_hwsim: 发送 config 事件到网络命名空间
作者: Maoyi Xie修复: 确保 config 事件被发送到正确的网络命名空间。
👥 活跃贡献者 TOP 15
| | | |
|---|
| | | |
| Jose Ignacio Tornos Martinez | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | device_schedule_reprobe 系列 |
| | | |
域名分布 TOP 10
协议栈 — 80211 🧩
本周协议栈层活动集中在 mac80211 和 nl80211 两个子层,共 18 个补丁/讨论:
mac80211 核心(软件 MAC 实现)— 13 个
| | | | |
|---|
| guard drv_net_setup_tc() against unbound AP_VLAN sdata | | | | |
| defer AP-side FT key upload until association | | | | |
| mac80211_hwsim: send config events to the radio's net namespace | | | | |
| avoid WARN in set_bitrate_mask when sdata not in driver | | | | |
| fils_aead: Use __cleanup() for aes_cmac_key | | | | |
| pass error station if non-STA transmit was requested | | | | |
| [bug report] factor out ieee80211_calc_expected_tx_airtime | | | | |
技术分析:
- 1. Ayushman Rout — AP_VLAN sdata 保护: 在 drv_net_setup_tc() 调用前检查 sdata 类型,防止未绑定的 AP_VLAN 接口触发空指针访问。当 AP_VLAN 接口尚未绑定到上层 STA 时,sdata->vif.addr 可能为 NULL,直接传递给驱动层会导致不可预测的行为。
- 2. James Prestwood — FT key 延迟上传: 讨论如何在关联完成前延迟上传 FT(快速转换)密钥,确保关联过程中密钥协商的时序正确性。涉及多个回合的讨论(Andrea Covelli 参与),核心难点在于 mac80211 的关联状态机与用户空间 wpa_supplicant 的交互时序。
- 3. Rik van Riel — WARN 避免: 当 sdata 尚未注册到驱动时调用 set_bitrate_mask,应避免触发 WARN_ON。在设备初始化过程中,某些驱动可能在其他接口完全准备好之前就收到速率设置请求。
- 4. Thomas Huth — __cleanup() 清理: 使用内核的 __cleanup() 属性自动清理 aes_cmac_key 密钥缓冲区,替代手动 memzero_explicit() 调用,提高代码安全性和可维护性。
cfg80211 / nl80211(配置 API 层)— 5 个
| | | | |
|---|
| nl80211: add roam offload extended feature | | | | |
| nl80211: configure 6 GHz non-HT duplicate transmission | | | | |
技术分析:
- 1. Jason Huang — 漫游卸载扩展特征: 在 nl80211 中新增 NL80211_EXT_FEATURE_ROAM_OFFLOAD 扩展特征位,允许用户空间(wpa_supplicant)查询固件是否支持 FBT/OKC 漫游卸载。该特征位由 brcmfmac 驱动在初始化时设置,wpa_supplicant 通过 NL80211_CMD_GET_WIPHY 获取。这是 brcmfmac 漫游卸载系列的核心协议栈接口变更。
- 2. Manish Dharanenthiran — 6GHz 非HT 重复传输: 允许在 6GHz 频段上配置非 HT 重复传输模式,用于兼容旧设备或特定部署场景。
协议栈安全总结表
🔧 驱动子系统更新
ath12k (Qualcomm/Atheros) — 64 个补丁 🔥
本周最活跃驱动,主要来自 Pardeep Kaur 的 DP 统计系列和 Jose Ignacio 的 TX 流控系列。
安全修复:
- • OOB 访问修复 (v3, 1/8): TX stats 数组越界 → 🔴 CRITICAL
- • 1-based ring 索引 (v3, 7/8): debugfs 输出索引错误 → 🟡 MEDIUM
- • channel list double-free (v2): 错误路径双重释放 → 🔴 CRITICAL
- • dangling pointer (v2): 清理悬挂指针 → 🔴 HIGH
功能增强:
- • TX 流控 (v6, 4/4): 实现自定义 wake_tx_queue + 流控
- • DP 统计扩展 (v3, 0/8): 8 补丁系列增强可观测性
- • 多PD 共享固件: 支持多 PCIe Domain 配置
ath11k (Qualcomm) — 21 个补丁
安全修复:
- • NULL deref in ahb remove (v2, 2/3): QMI 未完成时的解引用 → 🔴 CRITICAL
- • 偶发初始化失败 (v2, 1/3): QRTR 时序问题 → 🟡 HIGH
- • PM notifier 未注销 (v2, 3/3): 失败路径残留 → 🟡 MEDIUM
- • WCN6750 专用 shutdown (v3): 仅 WCN6750 执行 ahb shutdown
功能增强:
- • TX 流控 (v6, 3/4): 实现自定义 wake_tx_queue + 流控
brcmfmac (Broadcom) — 23 个补丁
功能增强:
- • FT/OKC 漫游卸载 (v4, 0/5): 核心功能增强
- • PMKID 传递 (v6): 将 PMKID 传递给固件
- • PM_MAX 电源管理 (v2): 可选最高级电源管理
- • nvmem-cells MAC 地址: 通过 NVMEM 获取 MAC 地址
安全修复:
- • 802.1x TX completion 唤醒丢失 → 🔴 HIGH
mt76 (MediaTek) — 12 个补丁
安全修复:
- • mt792x USB TX 内存泄漏 → 🟡 MEDIUM
- • mt7921/5 锁反转 (wireless, 2/2) → 🔴 CRITICAL
- • mt7915 thermal zone UAF (v2) → 🔴 HIGH
- • mt7925 drv_pmctrl 返回检查 → 🟡 MEDIUM
功能增强:
- • mt7925 AXI DMA 校准缓存 (v3)
- • mt7996 thermal zone 注册 (v4)
- • mt7925 coex_info debugfs
- • mt7928 6GHz 功率模式 debugfs
mwifiex (Marvell/NXP) — 11 个补丁
Brian Norris 评审系列:
- • 验证 HT/VHT capability IE 长度
- • 替换 one-element arrays 为 flexible array
rtw88 (Realtek) — 2 个补丁
功能增强:
- • RTL8723BS SDIO 支持 (v4, 0/7): 7 补丁系列预备工作
- • CAM 越界写入修复 (Ping-Ke Shih 评审)
rtw89 (Realtek) — 2 个补丁
修复:
iwlwifi (Intel) — 2 个补丁
- • MFP_CAPABLE FIPS 模式: 讨论启用 MFP_CAPABLE
- • Constify thermal_zone_device_ops: 代码清理
- • device_schedule_reprobe 转换: Daniel Golle RFC
其他驱动
| | |
|---|
| | |
| | |
| | |
| | sta_list 锁定 + deauth 泄漏修复 |
| | |
| | |
📦 Pull Requests
| | |
|---|
| | GIT PULL |
| | PULL linux-firmware ath10k/ath11k/ath12k firmware ath-20260809 |
🐛 Bug 报告
| | | | |
|---|
| nxpwifi IW61x driver bug report | | | |
| rtw89: RTL8852BE instant wake from suspend | | | |
| | | | |
| rtw88_8723de: Wi-Fi/BT 热重启失败 | | | |
| mt76: mt7925 false-positive hard rfkill | | | |
| ath12k: WCN7858 data path stalls | | | |
| mac80211: calc_expected_tx_airtime 因子提取 | | | |
| brcmfmac: multi-BSS 任意 MAC 地址 | | | |
关键讨论系列
1. device_schedule_reprobe() 核心辅助函数
作者: Daniel Golle | RFC 0/4引入新的 driver core 辅助函数 device_schedule_reprobe(),用于在设备需要重新探测时异步调度。无线层面涉及 iwlwifi 和蓝牙 btintel_pcie 的转换。Greg KH 和 Hans de Goede 参与讨论。
2. sysbot AI patches and wireless
Johannes Berg 和 Slawomir Stepien 讨论 AI 生成的补丁对无线子系统的潜在影响和安全考量。
3. mac80211 FT key 上传时序
James Prestwood 和 Andrea Covelli 讨论在关联完成前延迟 FT 密钥上传的时序问题,涉及 mac80211 状态机。
⚠️ 需要关注的问题
- 1. ath12k WCN7858 数据路径停滞: 在高负载下数据路径完全停滞,但关联状态保持正常。Pau.M.M 报告,Jeff Johnson 确认调查中。
- 2. rtw89 LPS 恢复超时: RTL8852BE 在低功耗状态下无法正常恢复,触发 recovery 超时。
- 3. rtw88_8723de 热重启失败: Wi-Fi 和蓝牙在 warm reboot 后无法正常工作。
- 4. mt76 mt7925 false-positive hard rfkill: MSI Vector A16 HX 上出现错误的硬件 RF-kill 状态。
🔭 下周关注点
- 1. ath12k TX 流控 v6 合并: Jose Ignacio 的 v6 系列有望被合并到 wireless-next。
- 2. brcmfmac 漫游卸载 v4 审查: Jason Huang 的 v4 系列进入审查阶段。
- 3. rtw88 RTL8723BS 支持 v4: luka.gejak 的 7 补丁系列继续推进。
- 4. 80211 协议栈: FT key 上传时序、AP_VLAN 保护等补丁的后续迭代。
- 5. NVMEM v10 系列: Loic Poulain 的块设备 NVMEM 系列预计进入 linux-next。
报告自动生成于 2026-08-13,基于 lore.kernel.org/linux-wireless分析。