CVE-2026-89795: Linux kernel · PCI: Allow per function PCI slots to fix slot reset on s390
Affects Linux kernelSource CVE Database V5
Not known to be exploited · CVSS 8.4 High · fixed in ecdcceed4d377b02d4ea036b65f83f962c38ede7 : patch Linux kernel soon.
Data as of 26 Oct 2026, 13:47 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 5% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in ecdcceed4d377b02d4ea036b65f83f962c38ede7, dcc5bec09e23bbc4f9de055a11fce9937244f2c8, b4a80e9e639cf09ef5c66b7f262c9cb5ab37bdde +2
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 16 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
Description
In the Linux kernel, the following vulnerability has been resolved: PCI: Allow per function PCI slots to fix slot reset on s390 On s390 systems, which use a machine level hypervisor, PCI devices are always accessed through a form of PCI pass-through which fundamentally operates on a per PCI function granularity. This is also reflected in the s390 PCI hotplug driver which creates hotplug slots for individual PCI functions. Its reset_slot() function, which is a wrapper for zpci_hot_reset_device(), thus also resets individual functions. Currently, the pci_create_slot() assigns the same pci_slot object to multifunction devices. This approach worked fine on s390 systems that only exposed virtual functions as individual PCI domains to the operating system. Since commit 44510d6fa0c0 ("s390/pci: Handling multifunctions") s390 supports exposing the topology of multifunction PCI devices by grouping them in a shared PCI domain. This creates a problem when resetting a function through the hotplug driver's slot_reset() interface. When attempting to reset a function through the hotplug driver, the shared slot assignment causes the wrong function to be reset instead of the intended one. It also leaks memory as we do create a pci_slot object for the function, but don't correctly free it in pci_slot_release(). Add a flag for struct pci_slot to allow per function PCI slots for functions managed through a hypervisor, which exposes individual PCI functions while retaining the topology. Since we can use all 8 bits for slot 'number' (for ARI devices), change slot 'number' u16 to account for special values PCI_SLOT_PLACEHOLDER and PCI_SLOT_ALL_DEVICES.
References
- git.kernel.org/stable/c/b4a80e9e639cf09ef5c66b7f262c9cb5ab37bdde (opens in a new tab)
- git.kernel.org/stable/c/0d1a7d67f45645106578d65181e4e492dd20ed79 (opens in a new tab)
- git.kernel.org/stable/c/2050d900f9adbd6d6f38d30e182bcd9ad3108467 (opens in a new tab)
- git.kernel.org/stable/c/ecdcceed4d377b02d4ea036b65f83f962c38ede7 (opens in a new tab)
- git.kernel.org/stable/c/dcc5bec09e23bbc4f9de055a11fce9937244f2c8 (opens in a new tab)