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