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-tools-develUpgrade bpftoolUpgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.10.177-158.645Upgrade kernel-toolsUpgrade python-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-headersUpgrade python-perfUpgrade perfUpgrade kernel-debuginfoUpgrade kernel-livepatch-4.14.313-235.533Upgrade kernel-livepatch-5.15.106-64.140Upgrade perf-debuginfo | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade bpftoolUpgrade python3-perf-debuginfoUpgrade kernel-toolsUpgrade perf-debuginfoUpgrade python3-perfUpgrade perfUpgrade kernel-libbpf-staticUpgrade kernel-livepatch-6.1.23-36.46Upgrade kernel-libbpf-develUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade kernel-libbpfUpgrade kernel-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64 | Aug 5, 2025 | May 2, 2025 |
| Debian | — | Upgrade linux | May 5, 2025 | May 2, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-tools-libsUpgrade kernel-toolsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel | Aug 13, 2025 | Aug 9, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 2, 2025 |
| Ubuntu | — | Upgrade linux-ibmUpgrade linux-gcpUpgrade linuxUpgrade linux-nvidia-tegra-igxUpgrade linux-aws-fipsUpgrade linux-oracle-5.15Upgrade linux-ibm-5.15Upgrade linux-ibm-5.4Upgrade linux-gkeopUpgrade linux-fipsUpgrade linux-riscv-5.15Upgrade linux-nvidia-tegraUpgrade linux-nvidiaUpgrade linux-gcp-5.4Upgrade linux-intel-iot-realtimeUpgrade linux-hwe-5.4Upgrade linux-azure-fipsUpgrade linux-azure-5.15Upgrade linux-xilinx-zynqmpUpgrade linux-oracleUpgrade linux-gcp-fipsUpgrade linux-nvidia-tegra-5.15Upgrade linux-gkeUpgrade linux-gcp-5.15Upgrade linux-awsUpgrade linux-aws-5.15Upgrade linux-intel-iotgUpgrade linux-iotUpgrade linux-intel-iotg-5.15Upgrade linux-lowlatencyUpgrade linux-oracle-5.4Upgrade linux-raspiUpgrade linux-bluefieldUpgrade linux-realtimeUpgrade linux-lowlatency-hwe-5.15Upgrade linux-kvmUpgrade linux-azureUpgrade linux-hwe-5.15Upgrade linux-aws-5.4Upgrade linux-azure-fdeUpgrade linux-raspi-5.4Upgrade linux-azure-5.4 | 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