CVE-2026-89455PCI: plda: Fix use-after-free of event IRQs during teardown
Updated under an hour ago ()
Does this affect you?
It affects Linux. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
In the Linux kernel, the following vulnerability has been resolved: PCI: plda: Fix use-after-free of event IRQs during teardown plda_pcie_irq_domain_deinit() removes pcie->event_domain via irq_domain_remove(), but the per-event IRQs mapped from that domain are requested with devm_request_irq() in plda_init_interrupts(). The actual free_irq() for a devm-managed IRQ is deferred by devres until after the calling probe()/remove() function returns. This means irq_domain_remove() can free the domain's internal data before the deferred free_irq() for IRQs still mapped into it has run. When devres later processes that deferred cleanup, it can end up dereferencing the already-freed domain. Free each event IRQ explicitly with devm_free_irq() before removing the domain. This triggers the free immediately and removes the IRQ from the devres tracking list, so devres will not attempt to free it a second time later. Also dispose of the event, INTx, and MSI IRQ mappings with irq_dispose_mapping() before their owning domains are removed. Finally, guard the calls to irq_set_chained_handler_and_data() for pcie->irq, pcie->msi_irq, and pcie->intx_irq so they only run when those fields hold a valid (>0) IRQ number. This is a pre-existing issue, flagged by automated review during work on an earlier, unrelated patch to this driver. Build-tested and boot-tested on StarFive VisionFive v1.2A board
- CVSS
- Not yet scored
- Weakness (CWE)
- Not given
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- Linux
- NVD analysis
- Received
- Record last updated
- Sep 11, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
Linux Linux linux:linux (from the name) | 76c9113968079140cb2f885631db422170f32105 builds before 1d0159e139261996a3ca21798d9114aab2124d3c; 76c9113968079140cb2f885631db422170f32105 builds before 01c2f0c66bd1f892db9c6e82976da6b463cc4427; from 76c9113968079140cb2f885631db422170f32105 before e3589ca5f2e6477774753a2202c21509428d4701; 76c9113968079140cb2f885631db422170f32105 builds before 26b73bae01d6eb81a4a38f36101812f20b2639de | CNA record |
References
- https://git.kernel.org/stable/c/1d0159e139261996a3ca21798d9114aab2124d3c
- https://git.kernel.org/stable/c/01c2f0c66bd1f892db9c6e82976da6b463cc4427
- https://git.kernel.org/stable/c/e3589ca5f2e6477774753a2202c21509428d4701
- https://git.kernel.org/stable/c/26b73bae01d6eb81a4a38f36101812f20b2639de
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.