In the Linux kernel, the following vulnerability has been resolved:
igb: revert rtnl_lock() that causes deadlock
The commit 6faee3d4ee8b ("igb: Add lock to avoid data race") adds rtnl_lock to eliminate a false data race shown below
(FREE from device detaching) | (USE from netdev core) igb_remove | igb_ndo_get_vf_config igb_disable_sriov | vf >= adapter->vfs_allocated_count? kfree(adapter->vf_data) | adapter->vfs_allocated_count = 0 | | memcpy(... adapter->vf_data[vf]
The above race will never happen and the extra rtnl_lock causes deadlock below
[ 141.420169] <TASK> [ 141.420672] __schedule+0x2dd/0x840 [ 141.421427] schedule+0x50/0xc0 [ 141.422041] schedule_preempt_disabled+0x11/0x20 [ 141.422678] __mutex_lock.isra.13+0x431/0x6b0 [ 141.423324] unregister_netdev+0xe/0x20 [ 141.423578] igbvf_remove+0x45/0xe0 [igbvf] [ 141.423791] pci_device_remove+0x36/0xb0 [ 141.423990] device_release_driver_internal+0xc1/0x160 [ 141.424270] pci_stop_bus_device+0x6d/0x90 [ 141.424507] pci_stop_and_remove_bus_device+0xe/0x20 [ 141.424789] pci_iov_remove_virtfn+0xba/0x120 [ 141.425452] sriov_disable+0x2f/0xf0 [ 141.425679] igb_disable_sriov+0x4e/0x100 [igb] [ 141.426353] igb_remove+0xa0/0x130 [igb] [ 141.426599] pci_device_remove+0x36/0xb0 [ 141.426796] device_release_driver_internal+0xc1/0x160 [ 141.427060] driver_detach+0x44/0x90 [ 141.427253] bus_remove_driver+0x55/0xe0 [ 141.427477] pci_unregister_driver+0x2a/0xa0 [ 141.428296] __x64_sys_delete_module+0x141/0x2b0 [ 141.429126] ? mntput_no_expire+0x4a/0x240 [ 141.429363] ? syscall_trace_enter.isra.19+0x126/0x1a0 [ 141.429653] do_syscall_64+0x5b/0x80 [ 141.429847] ? exit_to_user_mode_prepare+0x14d/0x1c0 [ 141.430109] ? syscall_exit_to_user_mode+0x12/0x30 [ 141.430849] ? do_syscall_64+0x67/0x80 [ 141.431083] ? syscall_exit_to_user_mode_prepare+0x183/0x1b0 [ 141.431770] ? syscall_exit_to_user_mode+0x12/0x30 [ 141.432482] ? do_syscall_64+0x67/0x80 [ 141.432714] ? exc_page_fault+0x64/0x140 [ 141.432911] entry_SYSCALL_64_after_hwframe+0x72/0xdc
Since the igb_disable_sriov() will call pci_disable_sriov() before releasing any resources, the netdev core will synchronize the cleanup to avoid any races. This patch removes the useless rtnl_(un)lock to guarantee correctness.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernelUpgrade kernel-livepatch-5.10.177-158.645Upgrade kernel-develUpgrade bpftoolUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade kernel-headersUpgrade python-perfUpgrade perfUpgrade bpftool-debuginfoUpgrade kernel-livepatch-5.15.106-64.140Upgrade kernel-livepatch-4.14.313-235.533Upgrade kernel-debuginfo-common-aarch64Upgrade python-perf-debuginfo | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade perfUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade perf-debuginfoUpgrade python3-perf-debuginfoUpgrade python3-perfUpgrade kernel-libbpf-develUpgrade kernel-tools-debuginfoUpgrade kernel-libbpfUpgrade kernelUpgrade kernel-headersUpgrade kernel-livepatch-6.1.23-36.46Upgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-staticUpgrade kernel-debuginfo | Aug 5, 2025 | May 2, 2025 |
| Debian | — | Upgrade linux | May 5, 2025 | May 2, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernelUpgrade kernel-tools-libs | Aug 13, 2025 | Aug 9, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 2, 2025 |
| Ubuntu | — | Upgrade linux-intel-iotg-5.15Upgrade linux-raspi-5.4Upgrade linux-realtimeUpgrade linux-nvidia-tegra-5.15Upgrade linux-oracle-5.4Upgrade linux-aws-5.4Upgrade linux-lowlatencyUpgrade linux-awsUpgrade linux-intel-iotgUpgrade linux-lowlatency-hwe-5.15Upgrade linux-gkeUpgrade linux-azure-5.4Upgrade linux-raspiUpgrade linux-gcp-5.15Upgrade linux-iotUpgrade linux-bluefieldUpgrade linux-azureUpgrade linux-hwe-5.15Upgrade linux-kvmUpgrade linux-aws-5.15Upgrade linux-intel-iot-realtimeUpgrade linux-gcp-fipsUpgrade linux-riscv-5.15Upgrade linux-nvidia-tegraUpgrade linux-ibmUpgrade linux-hwe-5.4Upgrade linux-ibm-5.4Upgrade linux-gcp-5.4Upgrade linux-xilinx-zynqmpUpgrade linux-fipsUpgrade linux-gkeopUpgrade linux-nvidia-tegra-igxUpgrade linux-gcpUpgrade linux-oracleUpgrade linux-aws-fipsUpgrade linux-oracle-5.15Upgrade linuxUpgrade linux-ibm-5.15Upgrade linux-nvidiaUpgrade linux-azure-5.15Upgrade linux-azure-fips | May 8, 2025 | May 2, 2025 |
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