From 6249698840a92639077e323bb5cc5c27a4825698 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Thu, 15 Jan 2026 03:22:10 +0000 Subject: [PATCH] BUG/MEDIUM: queues: Fix arithmetic when feeling non_empty_tgids Fix the arithmetic when pre-filling non_empty_tgids when we still have more than 32/64 thread groups left, to get the right index, we of course have to divide the number of thread groups by the number of bits in a long. This bug was introduced by commit 7e1fed4b7a8b862bf7722117f002ee91a836beb5, but hopefully was not hit because it requires to have at least as much thread groups as there are bits in a long, which is impossible on 64bits machines, as MAX_TGROUPS is still 32. --- src/queue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/queue.c b/src/queue.c index 34c0d11b0..849bd52f3 100644 --- a/src/queue.c +++ b/src/queue.c @@ -396,7 +396,7 @@ int process_srv_queue(struct server *s) while (i >= LONGBITS) { - non_empty_tgids[global.nbtgroups - i] = ULONG_MAX; + non_empty_tgids[(global.nbtgroups - i) / LONGBITS] = ULONG_MAX; i -= LONGBITS; } while (i > 0) {