summaryrefslogtreecommitdiff
path: root/linux-__get_nprocs_sched-do-not-feed-CPU_COUNT_S-wit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'linux-__get_nprocs_sched-do-not-feed-CPU_COUNT_S-wit.patch')
-rw-r--r--linux-__get_nprocs_sched-do-not-feed-CPU_COUNT_S-wit.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/linux-__get_nprocs_sched-do-not-feed-CPU_COUNT_S-wit.patch b/linux-__get_nprocs_sched-do-not-feed-CPU_COUNT_S-wit.patch
new file mode 100644
index 0000000..0bf8f6d
--- /dev/null
+++ b/linux-__get_nprocs_sched-do-not-feed-CPU_COUNT_S-wit.patch
@@ -0,0 +1,30 @@
+From 97ba273b505763325efd802dc3a9562dbba79579 Mon Sep 17 00:00:00 2001
+From: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
+Date: Tue, 1 Feb 2022 22:39:02 +0000
+Subject: [PATCH] linux: __get_nprocs_sched: do not feed CPU_COUNT_S with
+ garbage [BZ #28850]
+
+Pass the actual number of bytes returned by the kernel.
+
+Fixes: 33099d72e41c ("linux: Simplify get_nprocs")
+Reviewed-by: Dmitry V. Levin <ldv@altlinux.org>
+---
+ sysdeps/unix/sysv/linux/getsysstats.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysdeps/unix/sysv/linux/getsysstats.c b/sysdeps/unix/sysv/linux/getsysstats.c
+index 4798cc3..c98c8ce 100644
+--- a/sysdeps/unix/sysv/linux/getsysstats.c
++++ b/sysdeps/unix/sysv/linux/getsysstats.c
+@@ -44,7 +44,7 @@ __get_nprocs_sched (void)
+ int r = INTERNAL_SYSCALL_CALL (sched_getaffinity, 0, cpu_bits_size,
+ cpu_bits);
+ if (r > 0)
+- return CPU_COUNT_S (cpu_bits_size, (cpu_set_t*) cpu_bits);
++ return CPU_COUNT_S (r, (cpu_set_t*) cpu_bits);
+ else if (r == -EINVAL)
+ /* The input buffer is still not enough to store the number of cpus. This
+ is an arbitrary values assuming such systems should be rare and there
+--
+1.8.3.1
+