In the Linux kernel, the following vulnerability has been resolved:
hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove
In commit ac5047671758 ("hv_netvsc: Disable NAPI before closing the VMBus channel"), napi_disable was getting called for all channels, including all subchannels without confirming if they are enabled or not.
This caused hv_netvsc getting hung at napi_disable, when netvsc_probe() has finished running but nvdev->subchan_work has not started yet. netvsc_subchan_work() -> rndis_set_subchannel() has not created the sub-channels and because of that netvsc_sc_open() is not running. netvsc_remove() calls cancel_work_sync(&nvdev->subchan_work), for which netvsc_subchan_work did not run.
netif_napi_add() sets the bit NAPI_STATE_SCHED because it ensures NAPI cannot be scheduled. Then netvsc_sc_open() -> napi_enable will clear the NAPIF_STATE_SCHED bit, so it can be scheduled. napi_disable() does the opposite.
Now during netvsc_device_remove(), when napi_disable is called for those subchannels, napi_disable gets stuck on infinite msleep.
This fix addresses this problem by ensuring that napi_disable() is not getting called for non-enabled NAPI struct. But netif_napi_del() is still necessary for these non-enabled NAPI struct for cleanup purpose.
Call trace: [ 654.559417] task:modprobe state:D stack: 0 pid: 2321 ppid: 1091 flags:0x00004002 [ 654.568030] Call Trace: [ 654.571221] <TASK> [ 654.573790] __schedule+0x2d6/0x960 [ 654.577733] schedule+0x69/0xf0 [ 654.581214] schedule_timeout+0x87/0x140 [ 654.585463] ? __bpf_trace_tick_stop+0x20/0x20 [ 654.590291] msleep+0x2d/0x40 [ 654.593625] napi_disable+0x2b/0x80 [ 654.597437] netvsc_device_remove+0x8a/0x1f0 [hv_netvsc] [ 654.603935] rndis_filter_device_remove+0x194/0x1c0 [hv_netvsc] [ 654.611101] ? do_wait_intr+0xb0/0xb0 [ 654.615753] netvsc_remove+0x7c/0x120 [hv_netvsc] [ 654.621675] vmbus_remove+0x27/0x40 [hv_vmbus]
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-develUpgrade kernel-zfcpdumpUpgrade bpftoolUpgrade kernel-debugUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-tools-libsUpgrade kernel-docUpgrade kernel-coreUpgrade kernel-debug-coreUpgrade kernel-modulesUpgrade perfUpgrade python3-perfUpgrade kernel-debug-develUpgrade kernel-modules-extraUpgrade kernel-toolsUpgrade kernelUpgrade kernel-zfcpdump-coreUpgrade kernel-abi-stablelistsUpgrade kernel-zfcpdump-modulesUpgrade kernel-debug-modules-extraUpgrade kernel-debug-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-tools-libs-develUpgrade kernel-cross-headersUpgrade kernel-headers | Aug 12, 2024 | Apr 3, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade kernel-toolsUpgrade bpftoolUpgrade python-perf-debuginfoUpgrade kernel-headersUpgrade kernelUpgrade kernel-livepatch-5.15.149-99.161Upgrade bpftool-debuginfoUpgrade kernel-livepatch-5.10.210-201.852Upgrade kernel-debuginfo-common-x86_64Upgrade python-perf | Aug 28, 2024 | Apr 3, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-develUpgrade kernel-livepatch-6.1.79-99.164Upgrade kernel-tools-debuginfoUpgrade kernel-headersUpgrade kernel-modules-extraUpgrade kernel-libbpfUpgrade kernel-libbpf-develUpgrade kernelUpgrade python3-perfUpgrade kernel-tools-develUpgrade perf-debuginfoUpgrade python3-perf-debuginfoUpgrade perfUpgrade kernel-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-modules-extra-commonUpgrade bpftoolUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools | Feb 17, 2025 | Apr 3, 2024 |
| Debian | — | Upgrade linux | May 8, 2024 | Apr 3, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel | Jun 26, 2024 | Apr 3, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel | Oct 8, 2024 | Apr 3, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | Apr 3, 2024 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | Jul 25, 2024 | Apr 3, 2024 |
| Rocky_linux | — | Upgrade kernel-modules-extraUpgrade kernel-debug-coreUpgrade kernel-coreUpgrade python3-perfUpgrade kernel-tools-debuginfoUpgrade kernel-modulesUpgrade perf-debuginfoUpgrade kernel-develUpgrade kernel-debugUpgrade perfUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-cross-headersUpgrade kernel-debuginfoUpgrade kernel-debug-develUpgrade kernel-tools-libs-develUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade kernelUpgrade python3-perf-debuginfoUpgrade kernel-debug-modulesUpgrade kernel-debug-debuginfoUpgrade kernel-headersUpgrade kernel-debug-modules-extraUpgrade bpftool | Aug 22, 2024 | Apr 3, 2024 |
| Suse | — | Upgrade kernel-azure-extraUpgrade dtb-amdUpgrade kernel-azureUpgrade kernel-rt-livepatch-develUpgrade dtb-renesasUpgrade reiserfs-kmp-64kbUpgrade kernel-debugUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-source-rtUpgrade kernel-defaultUpgrade kernel-64kb-extraUpgrade dtb-broadcomUpgrade gfs2-kmp-64kbUpgrade kernel-debug-develUpgrade kernel-default-baseUpgrade dtb-amazonUpgrade kernel-64kb-develUpgrade dtb-marvellUpgrade kernel-rt-optionalUpgrade kernel-64kb-livepatch-develUpgrade kernel-default-livepatch-develUpgrade kernel-source-vanillaUpgrade ocfs2-kmp-64kbUpgrade kernel-docsUpgrade kernel-rt_debug-vdsoUpgrade reiserfs-kmp-defaultUpgrade kernel-azure-vdsoUpgrade kernel-default-livepatchUpgrade reiserfs-kmp-rtUpgrade kernel-rt_debugUpgrade ocfs2-kmp-azureUpgrade dtb-freescaleUpgrade dtb-hisiliconUpgrade dlm-kmp-rtUpgrade kselftests-kmp-defaultUpgrade kernel-syms-rtUpgrade dlm-kmp-azureUpgrade dlm-kmp-defaultUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debug-livepatch-develUpgrade kernel-symsUpgrade kernel-default-develUpgrade kernel-64kb-optionalUpgrade gfs2-kmp-defaultUpgrade kernel-64kbUpgrade kselftests-kmp-azureUpgrade kernel-rt_debug-livepatch-develUpgrade cluster-md-kmp-64kbUpgrade dtb-appleUpgrade kselftests-kmp-rtUpgrade kernel-docs-htmlUpgrade dtb-socionextUpgrade cluster-md-kmp-defaultUpgrade dtb-sprdUpgrade kernel-zfcpdumpUpgrade ocfs2-kmp-rtUpgrade dtb-alteraUpgrade kernel-syms-azureUpgrade kernel-rt-livepatchUpgrade dtb-caviumUpgrade cluster-md-kmp-azureUpgrade dtb-lgUpgrade kernel-debug-vdsoUpgrade kernel-azure-develUpgrade kernel-sourceUpgrade kernel-macrosUpgrade kernel-rt-develUpgrade kernel-devel-rtUpgrade kernel-obs-qaUpgrade kernel-default-base-rebuildUpgrade kernel-azure-livepatch-develUpgrade dtb-mediatekUpgrade dtb-armUpgrade dtb-qcomUpgrade gfs2-kmp-rtUpgrade dtb-apmUpgrade reiserfs-kmp-azureUpgrade kernel-develUpgrade cluster-md-kmp-rtUpgrade kernel-source-azureUpgrade kernel-kvmsmall-develUpgrade kernel-kvmsmallUpgrade kernel-azure-optionalUpgrade gfs2-kmp-azureUpgrade kernel-rt-extraUpgrade kernel-rt_debug-develUpgrade kernel-rtUpgrade kernel-obs-buildUpgrade kernel-devel-azureUpgrade kernel-default-optionalUpgrade dtb-nvidiaUpgrade kernel-rt-vdsoUpgrade dtb-rockchipUpgrade kernel-default-extraUpgrade ocfs2-kmp-defaultUpgrade kselftests-kmp-64kbUpgrade kernel-default-vdsoUpgrade dtb-xilinxUpgrade dtb-exynosUpgrade dtb-allwinnerUpgrade dlm-kmp-64kbUpgrade dtb-amlogic | Jun 13, 2024 | Apr 3, 2024 |
| Ubuntu | — | Upgrade linux-image-6.5.0-44-generic-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-oem-20.04Upgrade linux-image-gcpUpgrade linux-image-oracleUpgrade linux-image-lowlatencyUpgrade linux-image-nvidia-64k-6.5Upgrade linux-image-awsUpgrade linux-image-virtualUpgrade linux-image-gke-5.15Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-gkeUpgrade linux-image-6.5.0-1026-oracleUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oem-20.04dUpgrade linux-image-6.5.0-1020-raspiUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.5.0-1024-azureUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-5.15.0-1054-nvidiaUpgrade linux-image-generic-lpaeUpgrade linux-image-6.5.0-44-genericUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1063-azureUpgrade linux-image-6.5.0-1023-nvidiaUpgrade linux-image-5.15.0-1058-intel-iotgUpgrade linux-image-6.5.0-44-lowlatencyUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1061-awsUpgrade linux-image-6.5.0-1017-starfiveUpgrade linux-image-raspi-nolpaeUpgrade linux-image-aws-lts-22.04Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1058-gkeUpgrade linux-image-6.5.0-1023-awsUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-generic-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-106-genericUpgrade linux-image-ibmUpgrade linux-image-oem-22.04aUpgrade linux-image-oem-20.04bUpgrade linux-image-gkeopUpgrade linux-image-5.15.0-1057-intel-iotgUpgrade linux-image-kvmUpgrade linux-image-5.15.0-1054-nvidia-lowlatencyUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.5.0-1024-azure-fdeUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.5.0-44-lowlatency-64kUpgrade linux-image-5.15.0-1059-oracleUpgrade linux-image-5.15.0-1054-raspiUpgrade linux-image-oracle-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-6.5.0-1024-gcpUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1063-azure-fdeUpgrade linux-image-5.15.0-106-lowlatency-64kUpgrade linux-image-5.15.0-106-generic-64kUpgrade linux-image-5.15.0-1044-gkeopUpgrade linux-image-5.15.0-106-lowlatencyUpgrade linux-image-5.15.0-106-generic-lpaeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-genericUpgrade linux-image-nvidiaUpgrade linux-image-intelUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-starfiveUpgrade linux-image-6.5.0-1023-nvidia-64kUpgrade linux-image-6.5.0-1026-oracle-64kUpgrade linux-image-azure-fdeUpgrade linux-image-azureUpgrade linux-image-raspiUpgrade linux-image-6.5.0-1027-oemUpgrade linux-image-5.15.0-1054-ibmUpgrade linux-image-5.15.0-1059-gcpUpgrade linux-image-oem-20.04cUpgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-1058-kvmUpgrade linux-image-azure-lts-22.04Upgrade linux-image-nvidia-6.5 | May 17, 2024 | Apr 3, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Apr 3, 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