From: Dan Carpenter Date: Mon, 8 Sep 2025 08:27:44 +0000 (+0200) Subject: irqchip/gic-v5: Fix loop in gicv5_its_create_itt_two_level() cleanup path X-Git-Tag: v6.18-rc1~181^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bfcd1fdaae92faa8cae880eb4c3aaaa60c54bf0d;p=thirdparty%2Fkernel%2Fstable.git irqchip/gic-v5: Fix loop in gicv5_its_create_itt_two_level() cleanup path The "i" variable in gicv5_its_create_itt_two_level() needs to be signed otherwise it can cause a forever loop in the function's cleanup path. [ lpieralisi: Reworded commit message ] Fixes: 57d72196dfc8 ("irqchip/gic-v5: Add GICv5 ITS support") Signed-off-by: Dan Carpenter Signed-off-by: Lorenzo Pieralisi Signed-off-by: Thomas Gleixner Reviewed-by: Zenghui Yu Link: https://lore.kernel.org/all/20250908082745.113718-3-lpieralisi@kernel.org --- diff --git a/drivers/irqchip/irq-gic-v5-its.c b/drivers/irqchip/irq-gic-v5-its.c index 81d813cd8fbbe..dcdf8bc0864c5 100644 --- a/drivers/irqchip/irq-gic-v5-its.c +++ b/drivers/irqchip/irq-gic-v5-its.c @@ -191,9 +191,9 @@ static int gicv5_its_create_itt_two_level(struct gicv5_its_chip_data *its, unsigned int num_events) { unsigned int l1_bits, l2_bits, span, events_per_l2_table; - unsigned int i, complete_tables, final_span, num_ents; + unsigned int complete_tables, final_span, num_ents; __le64 *itt_l1, *itt_l2, **l2ptrs; - int ret; + int i, ret; u64 val; ret = gicv5_its_l2sz_to_l2_bits(itt_l2sz);