CVE-2025-38720 in Linux
Tóm tắt
Bởi VulDB • 24/05/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
net: hibmcge: sửa lỗi chết cứng (deadlock) của rtnl
Hiện tại, netdev hibmcge lấy rtnl_lock trong pci_error_handlers.reset_prepare() và giải phóng nó trong pci_error_handlers.reset_done().
Tuy nhiên, trong khung PCI: pci_reset_bus - __pci_reset_slot - pci_slot_save_and_disable_locked - pci_dev_save_and_disable - err_handler->reset_prepare(dev);
Trong 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); }
Điều này sẽ lặp qua tất cả các thiết bị dưới bus hiện tại và thực thi err_handler->reset_prepare(), khiến hai thiết bị của trình điều khiển hibmcge lần lượt yêu cầu rtnl_lock, dẫn đến tình trạng chết cứng (deadlock).
Vì trình điều khiển hiện thực thi netif_device_detach() trước quá trình đặt lại, nó sẽ không đồng thời với các API netdev khác, do đó không cần giữ rtnl_lock nữa.
Do đó, bản vá này loại bỏ rtnl_lock trong quá trình đặt lại và điều chỉnh vị trí của HBG_NIC_STATE_RESETTING để đảm bảo rằng nhiều lần đặt lại không được thực thi đồng thời.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.