PCI: plda: Fix use-after-free of event IRQs during teardown (Linux Linux)

CVE-2026-89455
Non disponible

En bref

Source
NVD
EPSS
EPSS 0.21 % · centile 11 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
Linux
Statut NVD
Received

Description

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

Références

Références européennes

Avis du CERT-FR

Produits affectés

ProduitVersions
Linux · Linuxaffected 76c9113968079140cb2f885631db422170f32105 < 1d0159e139261996a3ca21798d9114aab2124d3c ; affected 76c9113968079140cb2f885631db422170f32105 < 01c2f0c66bd1f892db9c6e82976da6b463cc4427 ; affected 76c9113968079140cb2f885631db422170f32105 < e3589ca5f2e6477774753a2202c21509428d4701 ; affected 76c9113968079140cb2f885631db422170f32105 < 26b73bae01d6eb81a4a38f36101812f20b2639de
Linux · Linuxaffected 6.11 ; unaffected 0 < 6.11 ; unaffected 6.12.109 ≤ 6.12.* ; unaffected 6.18.50 ≤ 6.18.* ; unaffected 7.2.4 ≤ 7.2.* ; unaffected 7.3 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD