numactl/0011-libnuma-Fix-unexpected-output.patch
zhangnaichuan 68883f1f88 libnuma: Fix incorrect print and exit of numa_preferred/_many APIs
(cherry picked from commit 3ec1d618a26104302364602c3e9a55c7fdf9de0f)
2024-11-05 10:38:13 +08:00

50 lines
1.2 KiB
Diff

From e763e8c86d9f10761a75c2be8510a79f25d63831 Mon Sep 17 00:00:00 2001
From: Chunsheng Luo <luochunsheng@ustc.edu>
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 <luochunsheng@ustc.edu>
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