From: Willy Tarreau Date: Wed, 12 Mar 2025 17:46:25 +0000 (+0100) Subject: MINOR: cpuset: make the API support negative CPU IDs X-Git-Tag: v3.2-dev8~93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32bb68e73669c06f7957066eafdd5adfbfc6fb4f;p=thirdparty%2Fhaproxy.git MINOR: cpuset: make the API support negative CPU IDs Negative IDs are very convenient to mean "not set", so let's just make the cpuset API robust against this, especially with ha_cpuset_isset() so that we don't have to manually add this check everywhere when a value is not known. --- diff --git a/src/cpuset.c b/src/cpuset.c index a20b81a25..6104898ef 100644 --- a/src/cpuset.c +++ b/src/cpuset.c @@ -21,7 +21,7 @@ void ha_cpuset_zero(struct hap_cpuset *set) int ha_cpuset_set(struct hap_cpuset *set, int cpu) { - if (cpu >= ha_cpuset_size()) + if (cpu < 0 || cpu >= ha_cpuset_size()) return 1; #if defined(CPUSET_USE_CPUSET) || defined(CPUSET_USE_FREEBSD_CPUSET) @@ -36,7 +36,7 @@ int ha_cpuset_set(struct hap_cpuset *set, int cpu) int ha_cpuset_clr(struct hap_cpuset *set, int cpu) { - if (cpu >= ha_cpuset_size()) + if (cpu < 0 || cpu >= ha_cpuset_size()) return 1; #if defined(CPUSET_USE_CPUSET) || defined(CPUSET_USE_FREEBSD_CPUSET) @@ -77,7 +77,7 @@ void ha_cpuset_or(struct hap_cpuset *dst, struct hap_cpuset *src) int ha_cpuset_isset(const struct hap_cpuset *set, int cpu) { - if (cpu >= ha_cpuset_size()) + if (cpu < 0 || cpu >= ha_cpuset_size()) return 0; #if defined(CPUSET_USE_CPUSET) || defined(CPUSET_USE_FREEBSD_CPUSET)