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