CVE-2026-89795 in Linux信息

摘要

由 VulDB • 2026-09-16

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

PCI:允许按功能划分 PCI 插槽以解决 s390 上的插槽重置问题

在使用机器级管理程序的 s390 系统上,PCI 设备始终通过某种形式的 PCI 直通进行访问,该方式从根本上是按每个 PCI 功能的粒度操作的。这一点也反映在 s390 PCI 热插拔驱动程序中,它为各个 PCI 功能创建热插拔插槽。其 `reset_slot()` 函数是 `zpci_hot_reset_device()` 的封装,因此也会重置单个功能。

目前,`pci_create_slot()` 将相同的 `pci_slot` 对象分配给多功能设备。这种方法在仅向操作系统暴露虚拟功能作为独立 PCI 域的 s390 系统上运行良好。自 commit 44510d6fa0c0(“s390/pci:处理多功能设备”)以来,s390 支持通过将多功能 PCI 设备分组到共享的 PCI 域中来暴露其拓扑结构。这在使用热插拔驱动程序的 `slot_reset()` 接口重置功能时造成了问题。

当尝试通过热插拔驱动程序重置某个功能时,共享插槽分配会导致错误的功能被重置,而不是预期的功能。此外,还会造成内存泄漏,因为我们为该功能创建了 `pci_slot` 对象,但未在 `pci_slot_release()` 中正确释放它。

向 `struct pci_slot` 添加一个标志,以允许通过管理程序管理的功能使用按功能划分的 PCI 插槽,这些管理程序暴露了独立的 PCI 功能同时保留拓扑结构。由于我们可以为 ARI 设备的所有 8 位用于插槽“编号”,因此将插槽“编号”的 u16 类型更改以适应特殊值 `PCI_SLOT_PLACEHOLDER` 和 `PCI_SLOT_ALL_DEVICES`。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

来源

Might our Artificial Intelligence support you?

Check our Alexa App!