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 kernel-tools-develUpgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade python-perfUpgrade kernelUpgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade perfUpgrade python-perf-debuginfoUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade kernel-livepatch-5.15.184-125.190Upgrade kernel-headersUpgrade kernel-tools-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-oem-osp1Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1076-ibmUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-5.15.0-1026-nvidia-tegra-igxUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-5.4.0-1151-azure-fipsUpgrade linux-image-raspi2Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-5.15.0-1066-gkeopUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-intel-iotgUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-oem-24.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-5.4.0-216-generic-lpaeUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-gcpUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.4.0-1151-azureUpgrade linux-image-5.15.0-1077-intel-iot-realtimeUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-oem-20.04dUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1089-azureUpgrade linux-image-5.15.0-1081-oracleUpgrade linux-image-gcp-fipsUpgrade linux-image-5.4.0-1146-aws-fipsUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-5.15.0-1084-realtimeUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-5.15.0-140-fipsUpgrade linux-image-generic-64kUpgrade linux-image-oem-22.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1026-oemUpgrade linux-image-5.15.0-1084-aws-fipsUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-gke-5.15Upgrade linux-image-genericUpgrade linux-image-5.15.0-1037-nvidia-tegraUpgrade linux-image-5.15.0-1083-gcp-fipsUpgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-oem-22.04dUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-aws-lts-20.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-azureUpgrade linux-image-gkeop-6.8Upgrade linux-image-azure-fdeUpgrade linux-image-oem-20.04cUpgrade linux-image-5.4.0-1149-gcp-fipsUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-5.15.0-1083-gcpUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-nvidia-tegraUpgrade linux-image-lowlatency-64kUpgrade linux-image-ibmUpgrade linux-image-ibm-classicUpgrade linux-image-5.15.0-142-generic-lpaeUpgrade linux-image-azure-lts-24.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-5.15.0-1081-gkeUpgrade linux-image-5.15.0-1089-azure-fipsUpgrade linux-image-5.15.0-140-lowlatencyUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-1079-intel-iotgUpgrade linux-image-5.15.0-1037-nvidia-tegra-rtUpgrade linux-image-5.4.0-1149-gcpUpgrade linux-image-gkeopUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-5.4.0-1051-iotUpgrade linux-image-oem-20.04bUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-intelUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-58-genericUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-nvidiaUpgrade linux-image-raspiUpgrade linux-image-lowlatencyUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-oem-22.04aUpgrade linux-image-oracle-64kUpgrade linux-image-5.4.0-1120-fipsUpgrade linux-image-5.4.0-1146-awsUpgrade linux-image-5.4.0-1144-oracleUpgrade linux-image-5.15.0-1078-raspiUpgrade linux-image-azure-fipsUpgrade linux-image-gcp-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-142-genericUpgrade linux-image-5.15.0-140-generic-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-awsUpgrade linux-image-5.15.0-1050-xilinx-zynqmpUpgrade linux-image-5.15.0-1084-awsUpgrade linux-image-5.4.0-1133-kvmUpgrade linux-image-5.15.0-1080-kvmUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-oem-24.04bUpgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-oemUpgrade linux-image-5.4.0-1105-bluefieldUpgrade linux-image-raspi-nolpaeUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-azure-lts-20.04Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-5.15.0-140-generic-lpaeUpgrade linux-image-raspi-realtimeUpgrade linux-image-azure-cvmUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.15.0-140-genericUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-fipsUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.4.0-216-genericUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oem-20.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.15.0-142-generic-64kUpgrade linux-image-kvmUpgrade linux-image-5.4.0-216-lowlatencyUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1078-nvidia-lowlatencyUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-realtimeUpgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-5.4.0-1092-ibmUpgrade linux-image-5.15.0-140-lowlatency-64kUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-5.4.0-1064-xilinx-zynqmpUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gkeUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.15.0-1026-nvidia-tegra-igx-rtUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1027-azureUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1078-nvidiaUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oracle | 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