{"id":24482,"date":"2026-09-16T20:32:22","date_gmt":"2026-09-16T12:32:22","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89795"},"modified":"2026-09-16T20:32:22","modified_gmt":"2026-09-16T12:32:22","slug":"cve-2026-89795","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89795","title":{"rendered":"CVE-2026-89795 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nPCI: Allow per functi"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>PCI: Allow per function PCI slots to fix slot reset on s390<\/p>\n<p>On s390 systems, which use a machine level hypervisor, PCI devices are<br \/>\nalways accessed through a form of PCI pass-through which fundamentally<br \/>\noperates on a per PCI function granularity. This is also reflected in the<br \/>\ns390 PCI hotplug driver which creates hotplug slots for individual PCI<br \/>\nfunctions. Its reset_slot() function, which is a wrapper for<br \/>\nzpci_hot_reset_device(), thus also resets individual functions.<\/p>\n<p>Currently, the pci_create_slot() assigns the same pci_slot object to<br \/>\nmultifunction devices. This approach worked fine on s390 systems that only<br \/>\nexposed virtual functions as individual PCI domains to the operating<br \/>\nsystem.  Since commit 44510d6fa0c0 (&#8220;s390\/pci: Handling multifunctions&#8221;)<br \/>\ns390 supports exposing the topology of multifunction PCI devices by<br \/>\ngrouping them in a shared PCI domain. This creates a problem when resetting<br \/>\na function through the hotplug driver&#8217;s slot_reset() interface.<\/p>\n<p>When attempting to reset a function through the hotplug driver, the shared<br \/>\nslot assignment causes the wrong function to be reset instead of the<br \/>\nintended one. It also leaks memory as we do create a pci_slot object for<br \/>\nthe function, but don&#8217;t correctly free it in pci_slot_release().<\/p>\n<p>Add a flag for struct pci_slot to allow per function PCI slots for<br \/>\nfunctions managed through a hypervisor, which exposes individual PCI<br \/>\nfunctions while retaining the topology. Since we can use all 8 bits for<br \/>\nslot &#8216;number&#8217; (for ARI devices), change slot &#8216;number&#8217; u16 to account for<br \/>\nspecial values PCI_SLOT_PLACEHOLDER and PCI_SLOT_ALL_DEVICES.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>PCI: Allow per function PCI slots to fix slot reset on s390<\/p>\n<p>On s390 systems, which use a machine level hypervisor, PCI devices are<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-24482","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/24482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=24482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}