Arnd Bergmann
8d76a7d89c
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.
Fixes: cc2d3216f5 ("irqchip: GICv3: ITS command queue")
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Thomas Gleixner <tglx@kernel.org >
Reviewed-by: Marc Zyngier <maz@kernel.org >
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260119201603.2713066-1-arnd@kernel.org
2026-01-20 10:11:29 +01:00
..
2025-11-14 10:01:52 +01:00
2025-11-11 22:17:22 +01:00
2025-05-27 08:07:32 -07:00
2025-07-03 15:49:25 +02:00
2025-12-05 17:01:20 -08:00
2025-11-14 10:01:52 +01:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-10-07 10:23:22 +02:00
2025-05-16 21:06:09 +02:00
2025-06-20 21:38:52 +02:00
2025-08-23 21:41:07 +02:00
2025-11-26 19:42:51 -06:00
2025-08-23 21:41:07 +02:00
2025-10-16 18:17:27 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-12-05 17:29:04 -08:00
2025-10-16 18:17:27 +02:00
2025-10-16 18:17:27 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-27 08:07:32 -07:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-27 08:07:32 -07:00
2025-05-13 16:39:03 +02:00
2025-05-16 21:06:09 +02:00
2025-07-08 18:35:52 +01:00
2025-11-22 17:09:03 +01:00
2025-07-08 18:35:52 +01:00
2025-09-04 14:52:47 +02:00
2025-09-03 09:01:26 -05:00
2026-01-20 10:11:29 +01:00
2025-05-27 08:15:26 -07:00
2025-10-27 17:16:36 +01:00
2025-06-20 13:52:29 -07:00
2025-09-30 16:00:29 -07:00
2026-01-09 16:10:04 +01:00
2025-08-05 10:43:48 +02:00
2025-09-17 17:41:02 +01:00
2025-11-24 14:29:11 -08:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-11-14 10:01:52 +01:00
2025-05-16 21:06:09 +02:00
2025-06-12 15:08:12 +02:00
2025-11-14 10:01:52 +01:00
2025-05-16 21:06:09 +02:00
2025-06-12 15:08:12 +02:00
2025-10-16 18:17:27 +02:00
2025-05-27 08:07:32 -07:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:07 +02:00
2025-05-16 21:06:09 +02:00
2025-06-12 15:08:12 +02:00
2025-05-27 08:07:32 -07:00
2025-12-06 10:39:49 +08:00
2025-05-16 21:06:07 +02:00
2025-11-14 10:01:52 +01:00
2025-11-14 10:01:52 +01:00
2025-11-14 10:01:52 +01:00
2025-05-27 08:07:32 -07:00
2025-11-14 10:01:52 +01:00
2025-07-03 15:49:24 +02:00
2025-11-14 10:01:52 +01:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-07-18 14:54:45 +02:00
2025-12-10 12:11:06 +09:00
2025-11-13 14:04:16 +01:00
2025-05-16 21:06:09 +02:00
2025-06-21 18:20:54 +02:00
2025-05-16 21:06:09 +02:00
2025-05-27 08:07:32 -07:00
2025-09-09 14:44:30 +02:00
2025-11-14 10:01:52 +01:00
2025-11-14 10:01:52 +01:00
2025-05-16 21:06:09 +02:00
2025-08-24 12:00:47 +02:00
2025-05-16 21:32:19 +02:00
2025-05-27 08:15:26 -07:00
2025-10-16 18:17:28 +02:00
2025-05-16 21:32:20 +02:00
2025-05-16 21:06:09 +02:00
2025-09-03 14:10:30 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-06-12 15:08:12 +02:00
2025-10-16 18:17:27 +02:00
2025-05-16 21:06:09 +02:00
2025-07-18 16:46:09 +02:00
2025-07-18 16:46:09 +02:00
2025-09-03 14:10:30 +02:00
2025-12-05 17:29:04 -08:00
2026-01-18 10:55:34 +01:00
2025-06-26 16:06:40 +02:00
2025-10-16 18:17:28 +02:00
2026-01-13 09:51:46 +01:00
2026-01-09 16:10:05 +01:00
2026-01-09 16:10:05 +01:00
2025-11-14 16:52:34 +01:00
2025-09-25 19:49:19 -06:00
2025-11-14 10:01:52 +01:00
2025-09-04 14:52:48 +02:00
2025-12-05 17:29:04 -08:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-10-16 18:17:27 +02:00
2025-05-27 08:07:32 -07:00
2025-06-12 15:08:12 +02:00
2025-05-16 21:06:09 +02:00
2025-11-14 10:01:52 +01:00
2025-05-27 08:07:32 -07:00
2025-05-27 08:07:32 -07:00
2025-11-14 10:01:52 +01:00
2025-06-12 15:08:12 +02:00
2025-06-12 15:08:12 +02:00
2025-10-16 18:17:28 +02:00
2025-05-16 21:06:07 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-11-14 10:01:52 +01:00
2025-05-07 15:36:56 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-05-16 21:06:09 +02:00
2025-10-16 18:17:27 +02:00
2025-12-02 09:32:53 -08:00
2025-10-27 17:16:36 +01:00
2025-10-17 15:18:18 +02:00
2025-10-16 18:17:27 +02:00
2025-05-16 21:06:09 +02:00