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