Description
In the Linux kernel, the following vulnerability has been resolved: PCI: altera: Fix resource leaks on probe failure The chained IRQ handler is set during probe, but is only removed during the driver remove(). If pci_host_probe() fails, the handler and INTx IRQ domain remain set even though the devm-managed host bridge storage containing struct altera_pcie will be released, leaving the handler with a stale data pointer. Interrupts are also enabled before pci_host_probe() is called. If probe fails after that point, the controller interrupt source should be disabled before the chained handler and INTx domain are removed. So set the chained handler only after the INTx domain has been created. Disable controller interrupts during IRQ teardown, and tear the IRQ setup down if pci_host_probe() fails. [mani: commit log]
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
c63aed7334c21de8d626ff028ccad98cf5847a0e to < af7cf5d56d7d57c4fbfdb7b5b693790f331b07b7affectedc63aed7334c21de8d626ff028ccad98cf5847a0e to < 9cf0cc481e1645ec65e61486ae41c486c59781cbaffectedc63aed7334c21de8d626ff028ccad98cf5847a0e to < 99fc088d6cc6890ae35fa2f29c50ebe027844c20affectedc63aed7334c21de8d626ff028ccad98cf5847a0e to < a25bfa2a6665a1d77324d4a609e7513b87680227affectedc63aed7334c21de8d626ff028ccad98cf5847a0e to < 0db9aa9ec51be0a0ffdcdfd9af2b7bf3aeb7911aaffectedc63aed7334c21de8d626ff028ccad98cf5847a0e to < 09c43b7b7d29c6fadb27f32cdf7f3bb6598befa9affectedc63aed7334c21de8d626ff028ccad98cf5847a0e to < 6864c789b570e57f932847fa83f6b56917182d73affectedc63aed7334c21de8d626ff028ccad98cf5847a0e to < 7a94138caeb27f3c49c1dbd93bf422098925bb28affected
Linux Linux
Default version status: affected
5.9affected0 to < 5.9unaffected5.10.261 to ≤ 5.10.*unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.39 to ≤ 6.18.*unaffected7.1.4 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/af7cf5d56d7d57c4fbfdb7b5b693790f331b07b7 ↗
- https://git.kernel.org/stable/c/9cf0cc481e1645ec65e61486ae41c486c59781cb ↗
- https://git.kernel.org/stable/c/99fc088d6cc6890ae35fa2f29c50ebe027844c20 ↗
- https://git.kernel.org/stable/c/a25bfa2a6665a1d77324d4a609e7513b87680227 ↗
- https://git.kernel.org/stable/c/0db9aa9ec51be0a0ffdcdfd9af2b7bf3aeb7911a ↗
- https://git.kernel.org/stable/c/09c43b7b7d29c6fadb27f32cdf7f3bb6598befa9 ↗
- https://git.kernel.org/stable/c/6864c789b570e57f932847fa83f6b56917182d73 ↗
- https://git.kernel.org/stable/c/7a94138caeb27f3c49c1dbd93bf422098925bb28 ↗