Description
In the Linux kernel, the following vulnerability has been resolved: irqchip/crossbar: Use correct index in crossbar_domain_free() crossbar_domain_free() resets the domain data and then uses the nulled out irq_data->hwirq member as index to reset the irq_map[] entry and to write the relevant crossbar register with a safe entry. That means it never frees the correct index and keeps the crossbar register connection to the source interrupt active. If it would not reset the domain data, then this would be even worse as irq_data->hwirq holds the source interrupt number, but both the map and register index need the corresponding GIC SPI number and not the source interrupt number. This might even result in an out of bounds access as the source interrupt number can be higher than the maximal index space. Fix this by using the GIC SPI index from the parent domain's irq_data.
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
783d31863fb826f1a3754a2d5959a022a1b12d54 to < 13bdb5140405ff283f9052e65ee1d5c2303765c7affected783d31863fb826f1a3754a2d5959a022a1b12d54 to < 1c48dc6a0c1ef47a9fa24611e60bc2f4ee4dd0dfaffected783d31863fb826f1a3754a2d5959a022a1b12d54 to < ccc3664679763d2d6f067c28729bdff627bb72d0affected783d31863fb826f1a3754a2d5959a022a1b12d54 to < 424130169dc03b84ea604685409726d61bcec859affected783d31863fb826f1a3754a2d5959a022a1b12d54 to < cca649a23a5fc8aae536fc27a0546c67690a4078affected783d31863fb826f1a3754a2d5959a022a1b12d54 to < 36ca587f55a2c04468a89fd16174bb2f78dc04ecaffected783d31863fb826f1a3754a2d5959a022a1b12d54 to < e5be5d452d5f1efbb3342da2b00029be6c99034eaffected783d31863fb826f1a3754a2d5959a022a1b12d54 to < 043db005a8d6932dc7d217c86307e9af0bc10ddcaffected
Linux Linux
Default version status: affected
4.1affected0 to < 4.1unaffected5.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.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/13bdb5140405ff283f9052e65ee1d5c2303765c7 ↗
- https://git.kernel.org/stable/c/1c48dc6a0c1ef47a9fa24611e60bc2f4ee4dd0df ↗
- https://git.kernel.org/stable/c/ccc3664679763d2d6f067c28729bdff627bb72d0 ↗
- https://git.kernel.org/stable/c/424130169dc03b84ea604685409726d61bcec859 ↗
- https://git.kernel.org/stable/c/cca649a23a5fc8aae536fc27a0546c67690a4078 ↗
- https://git.kernel.org/stable/c/36ca587f55a2c04468a89fd16174bb2f78dc04ec ↗
- https://git.kernel.org/stable/c/e5be5d452d5f1efbb3342da2b00029be6c99034e ↗
- https://git.kernel.org/stable/c/043db005a8d6932dc7d217c86307e9af0bc10ddc ↗