In the Linux kernel, the following vulnerability has been resolved:
PCI: endpoint: Fix PCI domain ID release in pciepcdestroy()
pciepcdestroy() invokes pcibusreleasedomainnr() to release the PCI domain ID, but there are two issues:
'epc->dev' is passed to pcibusreleasedomainnr() which was already freed by device_unregister(), leading to a use-after-free issue.
Domain ID corresponds to the EPC device parent, so passing 'epc->dev' is also wrong.
Fix these issues by passing 'epc->dev.parent' to pcibusreleasedomainnr() and also do it before device_unregister().
[mani: reworded subject and description]