From 26f42a07793f7f5fa5dfee3421ded68a5c1284d9 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 14 May 2021 08:26:38 +0200 Subject: [PATCH] BUG/MAJOR: config: properly initialize cpu_map.thread[] up to MAX_THREADS A mistake was introduced in 2.4-dev17 by commit 982fb5339 ("MEDIUM: config: use platform independent type hap_cpuset for cpu-map"), it initializes cpu_map.thread[] from 0 to MAX_PROCS-1 instead of MAX_THREADS-1 resulting in crashes when the two differ, e.g. when building with USE_THREAD= but still with USE_CPU_AFFINITY=1. No backport is needed. --- src/haproxy.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/haproxy.c b/src/haproxy.c index 1fd4a6be6..71866eb17 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1778,6 +1778,8 @@ static void init(int argc, char **argv) for (i = 0; i < MAX_PROCS; ++i) { ha_cpuset_zero(&cpu_map.proc[i]); ha_cpuset_zero(&cpu_map.proc_t1[i]); + } + for (i = 0; i < MAX_THREADS; ++i) { ha_cpuset_zero(&cpu_map.thread[i]); } }