High · published May 17, 2024
In the Linux kernel, the following vulnerability has been resolved:
irqchip/gic-v3-its: Prevent double free on error
The error handling path in its_vpe_irq_domain_alloc() causes a double free
when its_vpe_init() fails after successfully allocating at least one
interrupt. This happens because its_vpe_irq_domain_free() frees the
interrupts along with the area bitmap and the vprop_page and
its_vpe_irq_domain_alloc() subsequently frees the area bitmap and the
vprop_page again.
Fix this by unconditionally invoking its_vpe_irq_domain_free() which
handles all cases correctly and by removing the bitmap/vprop_page freeing
from its_vpe_irq_domain_alloc().
[ tglx: Massaged change log ]
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 4.14, < 4.19.313 | 4.19.313 |
| linux/linux_kernel | ≥ 4.20, < 5.4.275 | 5.4.275 |
| linux/linux_kernel | ≥ 5.5, < 5.10.216 | 5.10.216 |
| linux/linux_kernel | ≥ 5.11, < 5.15.158 | 5.15.158 |
| linux/linux_kernel | ≥ 5.16, < 6.1.90 | 6.1.90 |
| linux/linux_kernel | ≥ 6.2, < 6.6.30 | 6.6.30 |
| linux/linux_kernel | ≥ 6.7, < 6.8.9 | 6.8.9 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| debian/debian_linux | all versions | — |