Ad

CVE-2026-64461

NONE EPSS 0.18%
Обновлено 25 июля 2026
Linux
Параметр Значение
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: PCI: mediatek: исправлена утечка домена IRQ, когда порт не включается. Когда mtk_pcie_enable_port() завершается с ошибкой, mtk_pcie_port_free() удаляет порт из pcie->ports и освобождает структуру портов. Однако домены IRQ установлены ранее созданные с помощью mtk_pcie_init_irq_domain(), никогда не освобождаются.

Исправьте это, реорганизовав mtk_pcie_irq_teardown() в помощник для каждого порта, mtk_pcie_irq_teardown_port() и вызывая его из mtk_pcie_setup(), когда mtk_pcie_enable_port() завершается с ошибкой. Поскольку отключение IRQ должно происходить только в путь ошибки проверки (во время возобновления дочерние устройства могут иметь активный MSI сопоставления и контекст NOIRQ запрещают спящие блокировки), mtk_pcie_enable_port() изменен и теперь возвращает код ошибки, чтобы вызывающие могли различайте два пути и действуйте соответственно. Об этой проблеме сообщил Сашико при обзоре SoC EcoNet EN7528. поддерживающая серия.

Показать оригинальное описание (EN)

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.