In the Linux kernel, the following vulnerability has been resolved:
wifi: ath10k: avoid NULL pointer error during sdio remove
When running 'rmmod ath10k', ath10k_sdio_remove() will free sdio workqueue by destroy_workqueue(). But if CONFIG_INIT_ON_FREE_DEFAULT_ON is set to yes, kernel panic will happen: Call trace: destroy_workqueue+0x1c/0x258 ath10k_sdio_remove+0x84/0x94 sdio_bus_remove+0x50/0x16c device_release_driver_internal+0x188/0x25c device_driver_detach+0x20/0x2c
This is because during 'rmmod ath10k', ath10k_sdio_remove() will call ath10k_core_destroy() before destroy_workqueue(). wiphy_dev_release() will finally be called in ath10k_core_destroy(). This function will free struct cfg80211_registered_device *rdev and all its members, including wiphy, dev and the pointer of sdio workqueue. Then the pointer of sdio workqueue will be set to NULL due to CONFIG_INIT_ON_FREE_DEFAULT_ON.
After device release, destroy_workqueue() will use NULL pointer then the kernel panic happen.
Call trace: ath10k_sdio_remove ->ath10k_core_unregister …… ->ath10k_core_stop ->ath10k_hif_stop ->ath10k_sdio_irq_disable ->ath10k_hif_power_down ->del_timer_sync(&ar_sdio->sleep_timer) ->ath10k_core_destroy ->ath10k_mac_destroy ->ieee80211_free_hw ->wiphy_free …… ->wiphy_dev_release ->destroy_workqueue
Need to call destroy_workqueue() before ath10k_core_destroy(), free the work queue buffer first and then free pointer of work queue by ath10k_core_destroy(). This order matches the error path order in ath10k_sdio_probe().
No work will be queued on sdio workqueue between it is destroyed and ath10k_core_destroy() is called. Based on the call_stack above, the reason is: Only ath10k_sdio_sleep_timer_handler(), ath10k_sdio_hif_tx_sg() and ath10k_sdio_irq_disable() will queue work on sdio workqueue. Sleep timer will be deleted before ath10k_core_destroy() in ath10k_hif_power_down(). ath10k_sdio_irq_disable() only be called in ath10k_hif_stop(). ath10k_core_unregister() will call ath10k_hif_power_down() to stop hif bus, so ath10k_sdio_hif_tx_sg() won't be called anymore.
Tested-on: QCA6174 hw3.2 SDIO WLAN.RMH.4.4.1-00189
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade python-perfUpgrade kernel-develUpgrade bpftoolUpgrade kernel-toolsUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade perf-debuginfoUpgrade bpftool-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-livepatch-5.15.184-125.190Upgrade kernel-headersUpgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo | May 30, 2025 | Dec 27, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Feb 10, 2025 | Dec 27, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Jul 17, 2025 | Dec 27, 2024 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1026-oemUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1078-raspiUpgrade linux-image-nvidia-6.8Upgrade linux-image-5.15.0-142-genericUpgrade linux-image-oem-22.04aUpgrade linux-image-5.4.0-1146-awsUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-gkeopUpgrade linux-image-5.15.0-1081-gkeUpgrade linux-image-5.4.0-1144-oracleUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-gcp-fipsUpgrade linux-image-5.4.0-1120-fipsUpgrade linux-image-5.15.0-1079-intel-iotgUpgrade linux-image-gcp-64kUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-raspiUpgrade linux-image-6.8.0-58-genericUpgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-gke-5.15Upgrade linux-image-azureUpgrade linux-image-genericUpgrade linux-image-oemUpgrade linux-image-5.15.0-1050-xilinx-zynqmpUpgrade linux-image-oem-24.04Upgrade linux-image-5.4.0-1092-ibmUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-5.15.0-1080-kvmUpgrade linux-image-bluefieldUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-raspi2Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-virtualUpgrade linux-image-5.15.0-1076-ibmUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.4.0-1151-azureUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-oem-osp1Upgrade linux-image-oem-20.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-fipsUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-gkeUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1027-azureUpgrade linux-image-5.4.0-216-lowlatencyUpgrade linux-image-5.15.0-140-lowlatency-64kUpgrade linux-image-5.4.0-1064-xilinx-zynqmpUpgrade linux-image-gkeop-5.15Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-5.4.0-1151-azure-fipsUpgrade linux-image-5.15.0-1026-nvidia-tegra-igxUpgrade linux-image-oem-20.04dUpgrade linux-image-5.4.0-216-generic-lpaeUpgrade linux-image-gcpUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-5.4.0-216-genericUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.15.0-1078-nvidiaUpgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-kvmUpgrade linux-image-5.15.0-142-generic-64kUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-5.15.0-1077-intel-iot-realtimeUpgrade linux-image-5.15.0-1066-gkeopUpgrade linux-image-generic-lpaeUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-5.15.0-1026-nvidia-tegra-igx-rtUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1133-kvmUpgrade linux-image-5.15.0-140-genericUpgrade linux-image-azure-cvmUpgrade linux-image-awsUpgrade linux-image-oem-24.04bUpgrade linux-image-5.15.0-1084-awsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-azure-lts-20.04Upgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-raspi-nolpaeUpgrade linux-image-realtimeUpgrade linux-image-5.15.0-140-generic-lpaeUpgrade linux-image-raspi-realtimeUpgrade linux-image-5.15.0-1078-nvidia-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-5.4.0-1105-bluefieldUpgrade linux-image-oem-20.04bUpgrade linux-image-oem-22.04cUpgrade linux-image-azure-fipsUpgrade linux-image-5.4.0-1149-gcpUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-aws-lts-22.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1037-nvidia-tegraUpgrade linux-image-nvidiaUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.15.0-1089-azure-fipsUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.4.0-1149-gcp-fipsUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-azure-fdeUpgrade linux-image-gkeop-6.8Upgrade linux-image-ibmUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-1083-gcpUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-azure-nvidiaUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-aws-fipsUpgrade linux-image-nvidia-64kUpgrade linux-image-5.4.0-1146-aws-fipsUpgrade linux-image-5.15.0-140-lowlatencyUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.11.0-1017-oemUpgrade linux-image-5.15.0-1089-azureUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-5.15.0-140-generic-64kUpgrade linux-image-5.15.0-1037-nvidia-tegra-rtUpgrade linux-image-5.15.0-1081-oracleUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-5.15.0-1083-gcp-fipsUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-5.15.0-140-fipsUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-intelUpgrade linux-image-5.15.0-1084-realtimeUpgrade linux-image-5.15.0-142-generic-lpaeUpgrade linux-image-azure-lts-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1084-aws-fipsUpgrade linux-image-oem-22.04Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-oem-22.04dUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-5.4.0-1051-iot | Mar 28, 2025 | Dec 27, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 22, 2025 | Dec 27, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub