CVE-2026-64461: PCI: mediatek: Fix IRQ domain leak when port fails to enable

Greg Kroah-Hartman <[email protected]> Sat, 25 Jul 2026 10:51:18 +0200
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026072543-CVE-2026-64461-20f5@gregkh>
From: Greg Kroah-Hartman <[email protected]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

PCI: mediatek: Fix IRQ domain leak when port fails to enable

When mtk_pcie_enable_port() fails, mtk_pcie_port_free() removes the port
from pcie->ports and frees the port structure. However, the IRQ domains set
up earlier by mtk_pcie_init_irq_domain() are never freed.

Fix this by refactoring mtk_pcie_irq_teardown() into a per-port helper,
mtk_pcie_irq_teardown_port(), and calling it from mtk_pcie_setup() when
mtk_pcie_enable_port() fails. Since the IRQ teardown must only happen in
the probe error path (during resume, child devices may have active MSI
mappings and the NOIRQ context prohibits sleeping locks),
mtk_pcie_enable_port() is changed to return an error code so callers can
distinguish the two paths and act accordingly.

This issue was reported by Sashiko while reviewing the EcoNet EN7528 SoC
support series.

The Linux kernel CVE team has assigned CVE-2026-64461 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 4.14 with commit b099631df160ec608cd6147f4d20a8042567a5b8 and fixed in 5.10.261 with commit e23da72ef202654a7d5269885c4fa39a8404db76
	Issue introduced in 4.14 with commit b099631df160ec608cd6147f4d20a8042567a5b8 and fixed in 5.15.212 with commit ec7c05eed47d8b15c45380aee7ca168a82e15035
	Issue introduced in 4.14 with commit b099631df160ec608cd6147f4d20a8042567a5b8 and fixed in 6.1.178 with commit 1fbe8972a39548a633d06d7b03a01b7b119a2c12
	Issue introduced in 4.14 with commit b099631df160ec608cd6147f4d20a8042567a5b8 and fixed in 6.6.145 with commit fe8c701a53c2816cd82301f66c671d952003c1b0
	Issue introduced in 4.14 with commit b099631df160ec608cd6147f4d20a8042567a5b8 and fixed in 6.12.97 with commit ce52e494a7555bdae1d990a2654fd7547ef6d986
	Issue introduced in 4.14 with commit b099631df160ec608cd6147f4d20a8042567a5b8 and fixed in 6.18.39 with commit 6e6a529d6f779413379b4404c9ef6a36c0337225
	Issue introduced in 4.14 with commit b099631df160ec608cd6147f4d20a8042567a5b8 and fixed in 7.1.4 with commit df77314b3bedbd9ad5d6f0682f98b99e3c5f7e2e
	Issue introduced in 4.14 with commit b099631df160ec608cd6147f4d20a8042567a5b8 and fixed in 7.2-rc1 with commit f865a57896bd92d7662eb2818d8f48872e2cbbc7

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-64461
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/pci/controller/pcie-mediatek.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/e23da72ef202654a7d5269885c4fa39a8404db76
	https://git.kernel.org/stable/c/ec7c05eed47d8b15c45380aee7ca168a82e15035
	https://git.kernel.org/stable/c/1fbe8972a39548a633d06d7b03a01b7b119a2c12
	https://git.kernel.org/stable/c/fe8c701a53c2816cd82301f66c671d952003c1b0
	https://git.kernel.org/stable/c/ce52e494a7555bdae1d990a2654fd7547ef6d986
	https://git.kernel.org/stable/c/6e6a529d6f779413379b4404c9ef6a36c0337225
	https://git.kernel.org/stable/c/df77314b3bedbd9ad5d6f0682f98b99e3c5f7e2e
	https://git.kernel.org/stable/c/f865a57896bd92d7662eb2818d8f48872e2cbbc7