CVE-2026-89454

PCI: plda: Fix IRQ domain leaks in the error paths of plda_init_interrupts()

Published Sep 11, 2026 CVSS 3.1 · 4.4 Medium EPSS < 1% KEV · Not listed
Description
In the Linux kernel, the following vulnerability has been resolved:

PCI: plda: Fix IRQ domain leaks in the error paths of plda_init_interrupts()

plda_init_interrupts() initializes IRQ domains and creates IRQ mapping but
does not unwind them when later step fails.

If platform_get_irq() or either irq_create_mapping() fails
in plda_init_interrupts(), the domains are never deinitialized. If
irq_create_mapping() fails, port->intx_irq stays initialized.

Hence, remove the IRQ domains in the error path by calling
plda_pcie_irq_domain_deinit().

Since plda_pcie_irq_domain_deinit() now disposes of the intx_irq and
msi_irq mappings itself before removing their domains, the msi_irq
mapping failure path can go directly to err_irq_domain_deinit instead of
disposing of port->intx_irq separately first.

This issue was found by automated review of sashiko-bot

[mani: commit log]

Analysis

AI-generated

Technical impact

The vulnerability resides in the Linux PCI PLDA driver, where the initialization routine, plda_init_interrupts(), fails to deallocate IRQ domains and mappings when platform_get_irq() or irq_create_mapping() encounters an error. Because the leaked IRQ domains and the kernel can exhaust system resources or become unstable, leading to a resource leak (CWE-772).

Affected Systems

All Linux kernel releases that contain the PLDA driver before the patch commit are affected. The vendor is Linux, the product is the Linux kernel; no specific version range is provided, so any kernel that has not applied the patch that removes the IRQ leak is susceptible.

Risk and Exploitability

The CVSS score for this issue is 4.4, indicating low severity. The EPSS score is <1%, indicating a very low likelihood of exploitation, and this vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. inferred that exploiting this flaw requires kernel‑privileged code execution, therefore only users with local or privileged access could trigger it. Because the issue is a resource leak rather than an elevation of privilege or remote code execution vector, the exploitation probability is modest, but an attacker could intentionally trigger the leak by repeatedly forcing initialization errors to cause a high‑intensity denial of service. The likely attack vector is inferred to be local, since it depends on the kernel’s handling of PCI device initialization path errors.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that contains the PLDA driver fix for IRQ domain leaks.
  • Reboot the system so the updated kernel takes effect and the new IRQ deinitialization path is used.
  • If the affected PCI functionality is not required, rebuild or configure the kernel to disable the PLDA driver or exclude the problematic device from the system to prevent the error path from being exercised.

Generated by OpenCVE AI on September 21, 2026 at 01:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
History
Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: PCI: plda: Fix IRQ domain leaks in the error paths of plda_init_interrupts() plda_init_interrupts() initializes IRQ domains and creates IRQ mapping but does not unwind them when later step fails. If platform_get_irq() or either irq_create_mapping() fails in plda_init_interrupts(), the domains are never deinitialized. If irq_create_mapping() fails, port->intx_irq stays initialized. Hence, remove the IRQ domains in the error path by calling plda_pcie_irq_domain_deinit(). Since plda_pcie_irq_domain_deinit() now disposes of the intx_irq and msi_irq mappings itself before removing their domains, the msi_irq mapping failure path can go directly to err_irq_domain_deinit instead of disposing of port->intx_irq separately first. This issue was found by automated review of sashiko-bot [mani: commit log]
Title PCI: plda: Fix IRQ domain leaks in the error paths of plda_init_interrupts()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
Oct 19, 2026, 8:47 AM
Reserved
Sep 11, 2026, 7:38 PM
Status
Received
Published
Sep 11, 2026, 8:19 PM
Modified
Oct 19, 2026, 9:17 AM
Severity
Moderate
Public date
Sep 11, 2026, 7:43 PM