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]
CVSS Details
- CVSS 3.1 Base Score: 4.7
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-toolsUpgrade kernel-zfcpdump-develUpgrade kernel-zfcpdump-coreUpgrade kernel-debug-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-cross-headersUpgrade kernel-debug-modulesUpgrade kernel-abi-stablelistsUpgrade kernel-headersUpgrade kernelUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdumpUpgrade bpftoolUpgrade kernel-develUpgrade kernel-docUpgrade kernel-coreUpgrade kernel-modulesUpgrade python3-perfUpgrade perfUpgrade kernel-modules-extraUpgrade kernel-debug-develUpgrade kernel-debug-coreUpgrade kernel-tools-libsUpgrade kernel-debug | Aug 12, 2024 | Apr 3, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-toolsUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade perf-debuginfoUpgrade kernel-debuginfoUpgrade perfUpgrade kernel-tools-develUpgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-x86_64Upgrade python-perfUpgrade kernel-headersUpgrade kernelUpgrade kernel-livepatch-5.10.210-201.852Upgrade bpftool-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-livepatch-5.15.149-99.161 | Aug 28, 2024 | Apr 3, 2024 |
| Amazon_linux_2023 | — | Upgrade perfUpgrade kernel-tools-develUpgrade perf-debuginfoUpgrade kernel-develUpgrade python3-perfUpgrade kernelUpgrade kernel-debuginfoUpgrade kernel-tools-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-modules-extraUpgrade kernel-headersUpgrade kernel-libbpf-develUpgrade kernel-livepatch-6.1.79-99.164Upgrade kernel-libbpfUpgrade kernel-modules-extra-commonUpgrade bpftool-debuginfoUpgrade bpftoolUpgrade kernel-libbpf-staticUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-x86_64Upgrade 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 kernel-tools-libsUpgrade bpftoolUpgrade 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 | — | No solution existsUpgrade kernel-rtUpgrade kernel | Jul 25, 2024 | Apr 3, 2024 |
| Rocky_linux | — | Upgrade perf-debuginfoUpgrade python3-perfUpgrade kernel-modulesUpgrade kernel-develUpgrade kernel-modules-extraUpgrade kernel-debugUpgrade kernel-coreUpgrade kernel-tools-debuginfoUpgrade kernel-debug-coreUpgrade perfUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-debug-modules-extraUpgrade kernel-headersUpgrade kernel-debug-develUpgrade kernel-debug-debuginfoUpgrade kernel-debug-modulesUpgrade kernel-tools-libs-develUpgrade kernel-cross-headersUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perf-debuginfoUpgrade bpftoolUpgrade kernel-debuginfo | Aug 22, 2024 | Apr 3, 2024 |
| Suse | — | Upgrade reiserfs-kmp-defaultUpgrade gfs2-kmp-64kbUpgrade ocfs2-kmp-64kbUpgrade kernel-debug-develUpgrade kernel-rt_debug-vdsoUpgrade kernel-default-livepatchUpgrade kernel-default-baseUpgrade dtb-marvellUpgrade kernel-default-livepatch-develUpgrade kernel-syms-rtUpgrade kernel-docsUpgrade kernel-rt_debugUpgrade kernel-source-rtUpgrade kernel-64kb-optionalUpgrade kernel-default-develUpgrade kselftests-kmp-azureUpgrade reiserfs-kmp-64kbUpgrade kernel-64kb-develUpgrade dtb-amazonUpgrade kernel-symsUpgrade dlm-kmp-rtUpgrade kernel-64kbUpgrade kernel-64kb-livepatch-develUpgrade gfs2-kmp-defaultUpgrade kernel-debug-livepatch-develUpgrade dtb-socionextUpgrade kernel-rt-optionalUpgrade dlm-kmp-azureUpgrade dlm-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade dtb-appleUpgrade kernel-rt-livepatch-develUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-broadcomUpgrade kernel-64kb-extraUpgrade reiserfs-kmp-rtUpgrade kernel-debugUpgrade ocfs2-kmp-azureUpgrade cluster-md-kmp-defaultUpgrade kernel-source-vanillaUpgrade kernel-defaultUpgrade kselftests-kmp-defaultUpgrade dtb-sprdUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azure-vdsoUpgrade dtb-freescaleUpgrade dtb-hisiliconUpgrade kernel-docs-htmlUpgrade dtb-amdUpgrade kselftests-kmp-rtUpgrade dtb-renesasUpgrade kernel-azure-extraUpgrade kernel-azureUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-apmUpgrade cluster-md-kmp-azureUpgrade dtb-lgUpgrade dtb-caviumUpgrade dtb-alteraUpgrade dlm-kmp-64kbUpgrade ocfs2-kmp-defaultUpgrade kselftests-kmp-64kbUpgrade dtb-exynosUpgrade dtb-allwinnerUpgrade kernel-default-vdsoUpgrade dtb-xilinxUpgrade kernel-obs-qaUpgrade kernel-rtUpgrade dtb-qcomUpgrade ocfs2-kmp-rtUpgrade kernel-rt-develUpgrade kernel-macrosUpgrade cluster-md-kmp-rtUpgrade reiserfs-kmp-azureUpgrade kernel-sourceUpgrade gfs2-kmp-rtUpgrade kernel-debug-vdsoUpgrade kernel-azure-develUpgrade dtb-amlogicUpgrade dtb-rockchipUpgrade kernel-devel-rtUpgrade dtb-mediatekUpgrade dtb-armUpgrade kernel-rt_debug-develUpgrade kernel-default-base-rebuildUpgrade kernel-devel-azureUpgrade kernel-default-optionalUpgrade dtb-nvidiaUpgrade kernel-obs-buildUpgrade kernel-develUpgrade kernel-azure-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-source-azureUpgrade kernel-rt-extraUpgrade kernel-kvmsmall-develUpgrade kernel-kvmsmallUpgrade kernel-azure-optionalUpgrade gfs2-kmp-azureUpgrade kernel-syms-azureUpgrade kernel-rt-livepatchUpgrade kernel-zfcpdumpUpgrade kernel-default-extra | Jun 13, 2024 | Apr 3, 2024 |
| Ubuntu | — | Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.5.0-1024-gcpUpgrade linux-image-nvidiaUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oem-22.04dUpgrade linux-image-6.5.0-1023-awsUpgrade linux-image-5.15.0-106-lowlatency-64kUpgrade linux-image-oem-22.04aUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-6.5Upgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1063-azure-fdeUpgrade linux-image-5.15.0-1044-gkeopUpgrade linux-image-6.5.0-1026-oracle-64kUpgrade linux-image-5.15.0-1057-intel-iotgUpgrade linux-image-kvmUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1054-nvidia-lowlatencyUpgrade linux-image-starfiveUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-6.5.0-44-lowlatency-64kUpgrade linux-image-6.5.0-1024-azure-fdeUpgrade linux-image-5.15.0-106-generic-64kUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-gkeopUpgrade linux-image-5.15.0-106-lowlatencyUpgrade linux-image-ibmUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-6.5.0-1027-oemUpgrade linux-image-5.15.0-1058-kvmUpgrade linux-image-6.5.0-1023-nvidia-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-1054-raspiUpgrade linux-image-genericUpgrade linux-image-5.15.0-106-generic-lpaeUpgrade linux-image-oem-22.04cUpgrade linux-image-azure-fdeUpgrade linux-image-raspiUpgrade linux-image-generic-64kUpgrade linux-image-intelUpgrade linux-image-5.15.0-1059-oracleUpgrade linux-image-5.15.0-1054-ibmUpgrade linux-image-5.15.0-1059-gcpUpgrade linux-image-azureUpgrade linux-image-5.15.0-106-genericUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1058-intel-iotgUpgrade linux-image-virtualUpgrade linux-image-5.15.0-1058-gkeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-intel-iotgUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.5.0-1026-oracleUpgrade linux-image-6.5.0-44-genericUpgrade linux-image-oem-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-oem-20.04dUpgrade linux-image-6.5.0-1024-azureUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-20.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-64k-6.5Upgrade linux-image-awsUpgrade linux-image-gkeUpgrade linux-image-gke-5.15Upgrade linux-image-6.5.0-1017-starfiveUpgrade linux-image-6.5.0-1023-nvidiaUpgrade linux-image-5.15.0-1061-awsUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.5.0-44-generic-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-6.5.0-1020-raspiUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1054-nvidiaUpgrade linux-image-gcpUpgrade linux-image-aws-lts-22.04Upgrade linux-image-oracleUpgrade linux-image-5.15.0-1063-azureUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.5.0-44-lowlatency | 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 |
Prioritize 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