Database/Kernel, userspace & hypervisor
Linux kernel (drivers/pci/endpoint): Pci_epc_destroy() releases the PCI domain ID using a device object it has already
Impact
Pci_epc_destroy() releases the PCI domain ID using a device object it has already unregistered and freed, so the domain-ID release runs against freed memory. Beyond the use-after-free itself, it releases the WRONG domain ID (the EPC's rather than its parent's), corrupting the kernel's domain-number allocator for every controller that follows.
Who can reach it
Endpoint mode required: the machine must run a PCIe endpoint controller with the EPC core registered. Reached when the EPC is destroyed - controller driver unbind or module unload, which is host root. Not tenant-reachable and inert on a normal GPU host; it matters on DPU/smartNIC style devices that run Linux as the endpoint and whose controller drivers get reloaded.
What to do
Update to 6.12 or later, or take the stable commits below. Interim: avoid unbinding or unloading PCIe endpoint controller drivers on a running system; reboot instead.
References
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.