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-zfcpdump-modulesUpgrade kernelUpgrade kernel-headersUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-develUpgrade kernel-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-zfcpdump-coreUpgrade kernel-cross-headersUpgrade kernel-debug-modulesUpgrade kernel-abi-stablelistsUpgrade kernel-modulesUpgrade kernel-debug-develUpgrade kernel-coreUpgrade kernel-zfcpdumpUpgrade kernel-tools-libsUpgrade python3-perfUpgrade bpftoolUpgrade kernel-docUpgrade kernel-develUpgrade perfUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-coreUpgrade kernel-modules-extraUpgrade kernel-debug | Aug 12, 2024 | Apr 3, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade perfUpgrade perf-debuginfoUpgrade python-perf-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-headersUpgrade kernelUpgrade kernel-livepatch-5.10.210-201.852Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.15.149-99.161Upgrade python-perf | Aug 28, 2024 | Apr 3, 2024 |
| Amazon_linux_2023 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-libbpf-staticUpgrade kernel-modules-extra-commonUpgrade kernel-debuginfo-common-aarch64Upgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perf-debuginfoUpgrade kernel-livepatch-6.1.79-99.164Upgrade kernel-tools-develUpgrade perfUpgrade kernel-develUpgrade python3-perfUpgrade kernel-headersUpgrade kernel-modules-extraUpgrade perf-debuginfoUpgrade kernel-debuginfoUpgrade kernelUpgrade kernel-libbpf-develUpgrade kernel-libbpfUpgrade kernel-tools-debuginfo | Feb 17, 2025 | Apr 3, 2024 |
| Debian | — | Upgrade linux | May 8, 2024 | Apr 3, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade python3-perfUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-libs | Jun 26, 2024 | Apr 3, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel-tools | Oct 8, 2024 | Apr 3, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | Apr 3, 2024 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Jul 25, 2024 | Apr 3, 2024 |
| Rocky_linux | — | Upgrade python3-perfUpgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade kernel-toolsUpgrade kernel-debugUpgrade kernel-coreUpgrade kernel-modulesUpgrade perfUpgrade kernel-develUpgrade kernel-debug-coreUpgrade kernel-modules-extraUpgrade kernel-cross-headersUpgrade kernelUpgrade bpftoolUpgrade bpftool-debuginfoUpgrade kernel-tools-libsUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfoUpgrade kernel-debug-modulesUpgrade kernel-debug-develUpgrade kernel-debug-modules-extraUpgrade python3-perf-debuginfoUpgrade kernel-headersUpgrade kernel-debug-debuginfoUpgrade kernel-tools-libs-devel | Aug 22, 2024 | Apr 3, 2024 |
| Suse | — | Upgrade kernel-syms-rtUpgrade dlm-kmp-azureUpgrade dtb-marvellUpgrade kernel-azureUpgrade kernel-rt_debug-livepatch-develUpgrade kselftests-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade kernel-source-rtUpgrade dtb-freescaleUpgrade dtb-hisiliconUpgrade kernel-kvmsmall-vdsoUpgrade dtb-amdUpgrade cluster-md-kmp-defaultUpgrade kselftests-kmp-rtUpgrade dtb-renesasUpgrade kernel-rt_debugUpgrade dtb-appleUpgrade kernel-source-vanillaUpgrade kernel-debug-develUpgrade cluster-md-kmp-64kbUpgrade gfs2-kmp-64kbUpgrade kernel-64kb-extraUpgrade kernel-defaultUpgrade reiserfs-kmp-rtUpgrade kernel-debugUpgrade reiserfs-kmp-64kbUpgrade dtb-broadcomUpgrade kernel-azure-extraUpgrade kernel-default-baseUpgrade dtb-sprdUpgrade kernel-azure-vdsoUpgrade kernel-kvmsmall-livepatch-develUpgrade dlm-kmp-rtUpgrade dtb-socionextUpgrade kselftests-kmp-azureUpgrade kernel-rt-optionalUpgrade kernel-rt_debug-vdsoUpgrade kernel-64kb-optionalUpgrade kernel-debug-livepatch-develUpgrade kernel-default-develUpgrade kernel-default-livepatchUpgrade gfs2-kmp-defaultUpgrade kernel-64kbUpgrade reiserfs-kmp-defaultUpgrade kernel-64kb-develUpgrade dtb-amazonUpgrade kernel-docsUpgrade kernel-64kb-livepatch-develUpgrade dlm-kmp-defaultUpgrade kernel-docs-htmlUpgrade ocfs2-kmp-azureUpgrade kernel-symsUpgrade kernel-default-livepatch-develUpgrade ocfs2-kmp-64kbUpgrade kernel-azure-develUpgrade kernel-rt-livepatchUpgrade kernel-syms-azureUpgrade kernel-source-azureUpgrade kernel-rt-extraUpgrade kernel-azure-optionalUpgrade gfs2-kmp-azureUpgrade kernel-rtUpgrade cluster-md-kmp-azureUpgrade dtb-caviumUpgrade kernel-kvmsmall-develUpgrade kernel-sourceUpgrade cluster-md-kmp-rtUpgrade kernel-macrosUpgrade dtb-mediatekUpgrade dtb-amlogicUpgrade kernel-debug-vdsoUpgrade kernel-rt_debug-develUpgrade kernel-azure-livepatch-develUpgrade dtb-armUpgrade kernel-obs-qaUpgrade kernel-default-base-rebuildUpgrade dtb-rockchipUpgrade kernel-devel-azureUpgrade kernel-obs-buildUpgrade kernel-default-optionalUpgrade dtb-nvidiaUpgrade kernel-rt-vdsoUpgrade dtb-allwinnerUpgrade dlm-kmp-64kbUpgrade ocfs2-kmp-defaultUpgrade dtb-exynosUpgrade kselftests-kmp-64kbUpgrade kernel-default-vdsoUpgrade kernel-kvmsmallUpgrade kernel-devel-rtUpgrade kernel-rt-develUpgrade dtb-xilinxUpgrade dtb-apmUpgrade reiserfs-kmp-azureUpgrade ocfs2-kmp-rtUpgrade kernel-develUpgrade dtb-qcomUpgrade gfs2-kmp-rtUpgrade kernel-zfcpdumpUpgrade dtb-alteraUpgrade kernel-default-extraUpgrade dtb-lg | Jun 13, 2024 | Apr 3, 2024 |
| Ubuntu | — | Upgrade linux-image-oem-22.04cUpgrade linux-image-6.5.0-1023-nvidia-64kUpgrade linux-image-5.15.0-1058-kvmUpgrade linux-image-6.5.0-1027-oemUpgrade linux-image-5.15.0-1044-gkeopUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-kvmUpgrade linux-image-5.15.0-1054-ibmUpgrade linux-image-5.15.0-1054-raspiUpgrade linux-image-6.5.0-1026-oracle-64kUpgrade linux-image-5.15.0-106-generic-lpaeUpgrade linux-image-oem-20.04cUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1057-intel-iotgUpgrade linux-image-generic-64kUpgrade linux-image-5.15.0-106-lowlatency-64kUpgrade linux-image-raspiUpgrade linux-image-5.15.0-106-lowlatencyUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-106-generic-64kUpgrade linux-image-azure-lts-22.04Upgrade linux-image-starfiveUpgrade linux-image-5.15.0-1054-nvidia-lowlatencyUpgrade linux-image-oem-22.04dUpgrade linux-image-5.15.0-1059-oracleUpgrade linux-image-oem-22.04aUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-azure-fdeUpgrade linux-image-oem-20.04bUpgrade linux-image-gkeopUpgrade linux-image-6.5.0-1023-awsUpgrade linux-image-genericUpgrade linux-image-azureUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.5.0-44-lowlatency-64kUpgrade linux-image-6.5.0-1024-gcpUpgrade linux-image-intelUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1059-gcpUpgrade linux-image-6.5.0-1024-azure-fdeUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-ibmUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.15.0-106-genericUpgrade linux-image-5.15.0-1063-azure-fdeUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-6.5Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-gcpUpgrade linux-image-5.15.0-1061-awsUpgrade linux-image-nvidia-64k-6.5Upgrade linux-image-6.5.0-1017-starfiveUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-gkeUpgrade linux-image-5.15.0-1058-intel-iotgUpgrade linux-image-oem-20.04dUpgrade linux-image-oem-22.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-6.5.0-1020-raspiUpgrade linux-image-virtualUpgrade linux-image-gke-5.15Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-oem-20.04Upgrade linux-image-awsUpgrade linux-image-oracleUpgrade linux-image-6.5.0-1026-oracleUpgrade linux-image-6.5.0-44-genericUpgrade linux-image-5.15.0-1058-gkeUpgrade linux-image-intel-iotgUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-oem-22.04bUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.15.0-1054-nvidiaUpgrade linux-image-6.5.0-1024-azureUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.5.0-44-lowlatencyUpgrade linux-image-6.5.0-1023-nvidiaUpgrade linux-image-lowlatencyUpgrade linux-image-6.5.0-44-generic-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1063-azureUpgrade linux-image-lowlatency-64k-hwe-22.04 | 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