mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/3] irqchip/gic-v3-its: Fix the ITT pool's alignment, zeroing and growth
@ 2026-11-06  9:26 Fuad Tabba
  2026-11-06  9:26 ` [PATCH 1/3] irqchip/gic-v3-its: Align sub-page ITTs to 256 bytes Fuad Tabba
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Fuad Tabba @ 2026-11-06  9:26 UTC (permalink / raw)
  To: Marc Zyngier, Thomas Gleixner
  Cc: Radu Rendec, Steven Price, Suzuki K Poulose, Will Deacon,
	Fuad Tabba, linux-arm-kernel, linux-kernel

Hi folks,

Three fixes to the ITT pool that took over sub-page ITTs from
kzalloc_node(). It doesn't align them to 256 bytes, though MAPD now
relies on it to. It doesn't zero the ITTs it reuses either, and it
leaks pages when it fails to grow.

The first gives the pool a 256-byte granule. With its 1-byte granule,
ITTs stay aligned only while every size is a multiple of 256, which
holds for power-of-two ITE sizes but not for QEMU's 12-byte ones. On
QEMU, two devices with 32 MSI-X vectors each are enough to put the
second device's ITT at an address MAPD truncates into the first's.

The second zeroes an ITT reused from the pool, as MAPD requires. The
third frees the page when gen_pool_add() fails.

Based on Linux 7.4-rc1 (6628e7d4c6b25).

Cheers,
/fuad

Fuad Tabba (3):
  irqchip/gic-v3-its: Align sub-page ITTs to 256 bytes
  irqchip/gic-v3-its: Zero ITTs reused from the ITT pool
  irqchip/gic-v3-its: Free the page when gen_pool_add() fails

 drivers/irqchip/irq-gic-v3-its.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)


base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
-- 
2.47.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-11-06  9:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-06  9:26 [PATCH 0/3] irqchip/gic-v3-its: Fix the ITT pool's alignment, zeroing and growth Fuad Tabba
2026-11-06  9:26 ` [PATCH 1/3] irqchip/gic-v3-its: Align sub-page ITTs to 256 bytes Fuad Tabba
2026-11-06  9:49   ` Suzuki K Poulose
2026-11-06  9:26 ` [PATCH 2/3] irqchip/gic-v3-its: Zero ITTs reused from the ITT pool Fuad Tabba
2026-11-06  9:56   ` Suzuki K Poulose
2026-11-06  9:26 ` [PATCH 3/3] irqchip/gic-v3-its: Free the page when gen_pool_add() fails Fuad Tabba
2026-11-06  9:59   ` Suzuki K Poulose

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®