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: 57d72196df ("irqchip/gic-v5: Add GICv5 ITS support")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>
Link: https://lore.kernel.org/all/20250908082745.113718-3-lpieralisi@kernel.org
This commit is contained in:
Dan Carpenter
2025-09-09 11:51:09 +02:00
committed by Thomas Gleixner
parent 5a5c48e870
commit bfcd1fdaae
+2 -2
View File
@@ -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);