CVE-2025-38720 in Linux信息

摘要

由 VulDB • 2026-05-24

在 Linux 内核中,已修复以下漏洞:

net: hibmcge: 修复 rtnl 死锁问题

目前,hibmcge 网络设备在 `pci_error_handlers.reset_prepare()` 中获取 `rtnl_lock`,并在 `pci_error_handlers.reset_done()` 中释放它。

然而,在 PCI 框架中: `pci_reset_bus` - `__pci_reset_slot` - `pci_slot_save_and_disable_locked` - `pci_dev_save_and_disable` - `err_handler->reset_prepare(dev)`;

在 `pci_slot_save_and_disable_locked()` 中: `list_for_each_entry(dev, &slot->bus->devices, bus_list) {`
` if (!dev->slot || dev->slot!= slot)` ` continue;` ` pci_dev_save_and_disable(dev);` ` if (dev->subordinate)` ` pci_bus_save_and_disable_locked(dev->subordinate);` `}`

这将遍历当前总线下的所有设备并执行 `err_handler->reset_prepare()`,导致 hibmcge 驱动程序的兩個设备依次请求 `rtnl_lock`,从而引发死锁。

由于驱动程序现在在重置过程之前执行 `netif_device_detach()`,因此它不会与其他网络网络设备 API 并发执行,所以现在无需持有 `rtnl_lock`。

因此,此补丁在重置过程中移除 `rtnl_lock`,并调整 `HBG_NIC_STATE_RESETTING` 的位置,以确保不会并发执行多个重置操作。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

来源

Do you want to use VulDB in your project?

Use the official API to access entries easily!