---
id: CVE-2026-98307
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  wifi: ath11k: cleanup arsta in ath11k_mac_peer_cleanup_all()

  When mac80211 removes a sta, it calls .sta_state() which in turn calls
  ath11k_mac_station_remove()
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  wifi: ath11k: cleanup arsta in ath11k_mac_peer_cleanup_all()

  When mac80211 removes a sta, it calls .sta_state() which in turn calls
  ath11k_mac_station_remove(). In tha…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= d5c65159f2895379e11ca13f62feabe93278985d <
    c4108dce0838ec7d38d782f76f9c007cfe2fff45
  - >-
    Linux >= d5c65159f2895379e11ca13f62feabe93278985d <
    57bc3cd46458eafa1c38e3044a61b7399cde7642
  - >-
    Linux >= d5c65159f2895379e11ca13f62feabe93278985d <
    be1d5e95ec499ed5ee9704aa27dd1407ccf0d0ac
  - >-
    Linux >= d5c65159f2895379e11ca13f62feabe93278985d <
    820b8cff81c796ba20573e04722ab62500713f97
  - Linux 5.6
published: '2026-10-06'
updated: '2026-10-06'
sourceUpdated: '2026-10-06T09:18:21.950'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98307'
references:
  - url: 'https://git.kernel.org/stable/c/57bc3cd46458eafa1c38e3044a61b7399cde7642'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/820b8cff81c796ba20573e04722ab62500713f97'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/be1d5e95ec499ed5ee9704aa27dd1407ccf0d0ac'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c4108dce0838ec7d38d782f76f9c007cfe2fff45'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-10-06T08:50:17.412Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

wifi: ath11k: cleanup arsta in ath11k_mac_peer_cleanup_all()

When mac80211 removes a sta, it calls .sta_state() which in turn calls
ath11k_mac_station_remove(). In that function we clean up both peers &
arsta related resources.

But when the firmware crashes, ath11k calls ieee80211_restart_hw(), which
assumes that all driver related resources are cleaned up beforehand. This
cleanup is supposedly done by ath11k_mac_peer_cleanup_all() but does not
in fact free arsta->rx_stats / tx_stats.

Extract the arsta cleanup from ath11k_mac_station_remove() into a
new ath11k_mac_station_cleanup() and call it from both there and
ath11k_mac_peer_cleanup_all().

This should handle kmemleaks reports like:
	unreferenced object 0xffffff801ae66400 (size 1024):
	  comm "hostapd", pid 1306, jiffies 4295011565
	  hex dump (first 32 bytes):
	    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	  backtrace (crc d61c08ec):
	    kmemleak_alloc+0x3c/0x50
	    __kmalloc_cache_noprof+0x2b0/0x3e0
	    ath11k_mac_op_sta_state+0x1dc/0xb10
	    drv_sta_state+0xac/0x6f8
	    sta_info_insert_rcu+0x314/0x5e0
	    sta_info_insert+0x14/0x38
	    ieee80211_add_station+0x10c/0x1a0
	    nl80211_new_station+0x3e8/0x680
	    genl_family_rcv_msg_doit+0xc0/0x120
	    genl_rcv_msg+0x1b4/0x258
	    netlink_rcv_skb+0x4c/0x108
	    genl_rcv+0x38/0x60
	    netlink_unicast+0x190/0x278
	    netlink_sendmsg+0x15c/0x370
	    ____sys_sendmsg+0x120/0x290
	    ___sys_sendmsg+0x70/0xa0

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
