From bb9e63e0cb8ca13986ad9aadea13efe137577b06 Mon Sep 17 00:00:00 2001 From: Hesham Almatary Date: Wed, 10 Sep 2025 15:05:08 +0000 Subject: [PATCH] gicv2: Fix a subobject-bounds bug for purecap The current gicv2 code faults at run-time in the purecap kernel with bounds violation due to a cast from intr_irqsrc to gic_irqsrc (which contains it as the first member). This requires a subobject bounds annotation for the purecap kernel to make it work (similar to gicv3 code). --- sys/arm/arm/gic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c index b1b7aacd63ab..1f288a999daf 100644 --- a/sys/arm/arm/gic.c +++ b/sys/arm/arm/gic.c @@ -108,7 +108,7 @@ #endif struct gic_irqsrc { - struct intr_irqsrc gi_isrc; + struct intr_irqsrc gi_isrc __subobject_use_container_bounds; uint32_t gi_irq; enum intr_polarity gi_pol; enum intr_trigger gi_trig;