Overview
About vulnerability
In the Linux kernel, the following vulnerability has been resolved:
irqchip/gic-v3-its: Avoid truncating memory addresses
On 32-bit machines with CONFIG_ARM_LPAE, it is possible for lowmem allocations to be backed by addresses physical memory above the 32-bit address limit, as found while experimenting with larger VMSPLIT configurations.
This caused the qemu virt model to crash in the GICv3 driver, which allocates the ‘itt’ object using GFP_KERNEL. Since all memory below the 4GB physical address limit is in ZONE_DMA in this configuration, kmalloc() defaults to higher addresses for ZONE_NORMAL, and the ITS driver stores the physical address in a 32-bit ‘unsigned long’ variable.
Change the itt_addr variable to the correct phys_addr_t type instead, along with all other variables in this driver that hold a physical address.
The gicv5 driver correctly uses u64 variables, while all other irqchip drivers don’t call virt_to_phys or similar interfaces. It’s expected that other device drivers have similar issues, but fixing this one is sufficient for booting a virtio based guest.
Details
- Affected product:
- AlmaLinux 9.2 ESU , Amazon Linux 2 ELS , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , Debian 10 ELS , Oracle Linux 7 ELS , TuxCare 9.6 ESU , Ubuntu 16.04 ELS , Ubuntu 18.04 ELS , Ubuntu 20.04 ELS
- Affected packages:
- kernel @ 5.14.0 (+11 more)
Fixes
KernelCare state
Live-patch status from KernelCare for each operating system.
| Operating system | Status | Covered kernels |
|---|---|---|
| Amazon Linux 2023 | Ready For Release | — |
| Debian 11 | Released |
37 kernels
|
| Debian 11 cloud | Released |
17 kernels
|
| Debian 12 | Planned | — |
| Debian 13 | Planned | — |
| Oracle Linux 8 UEK 7 | Released |
38 kernels
|
| Oracle Linux 9 UEK 7 | Released |
38 kernels
|
| Proxmox VE 7 5.15 | Will Not Fix |
47 kernels
|
| Ubuntu 20.04 HWE AWS | Will Not Fix |
57 kernels
|
| Ubuntu 20.04 HWE Azure | Will Not Fix |
40 kernels
|
| Ubuntu 22.04 | Will Not Fix |
92 kernels
|
| Ubuntu 22.04 AWS | Will Not Fix |
83 kernels
|
| Ubuntu 22.04 Azure | Will Not Fix |
74 kernels
|
| Ubuntu 24.04 | Will Not Fix |
43 kernels
|
| Ubuntu 24.04 AWS | Planned | — |