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