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