From e763e8c86d9f10761a75c2be8510a79f25d63831 Mon Sep 17 00:00:00 2001 From: Chunsheng Luo Date: Thu, 25 Jan 2024 23:54:56 +0800 Subject: [PATCH] libnuma: Fix unexpected output When errno is 0, numa_error(__FILE__) will print "xx: Success", which is not as expected Signed-off-by: Chunsheng Luo Reported-by: Ajay Panyala Conflict: NA Reference:https://github.com/numactl/numactl/commit/e763e8c86d9f10761a75c2be8510a79f25d63831 --- libnuma.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libnuma.c b/libnuma.c index 8b07ab0..e898297 100644 --- a/libnuma.c +++ b/libnuma.c @@ -1882,8 +1882,10 @@ static struct bitmask *__numa_preferred(void) policy != MPOL_BIND) return bmp; - if (numa_bitmask_weight(bmp) > 1) + if (numa_bitmask_weight(bmp) > 1) { + errno = EINVAL; numa_error(__FILE__); + } return bmp; } @@ -1903,8 +1905,11 @@ int numa_preferred(void) static void __numa_set_preferred(struct bitmask *bmp) { int nodes = numa_bitmask_weight(bmp); - if (nodes > 1) + if (nodes > 1) { + errno = EINVAL; numa_error(__FILE__); + } + setpol(nodes ? MPOL_PREFERRED : MPOL_LOCAL, bmp); } -- 2.27.0