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