about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/unix/sysv/linux/bits/sched.h4
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 172922639f..5940c4d717 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-11-13  Ulrich Drepper  <drepper@redhat.com>
+
+	[BZ #7029]
+	* sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ALLOC_SIZE):
+	Multiply with sizeof of __cpu_mask, not 8 unconditionally after
+	all the rounding.
+
 2008-11-11  Ulrich Drepper  <drepper@redhat.com>
 
 	[BZ #7009]
diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h
index 38ba305006..8f694d70c4 100644
--- a/sysdeps/unix/sysv/linux/bits/sched.h
+++ b/sysdeps/unix/sysv/linux/bits/sched.h
@@ -1,6 +1,6 @@
 /* Definitions of constants and data structure for POSIX 1003.1b-1993
    scheduling interface.
-   Copyright (C) 1996-1999,2001-2003,2005,2006,2007
+   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -184,7 +184,7 @@ typedef struct
       __dest; }))
 
 # define __CPU_ALLOC_SIZE(count) \
-  ((((count) + __NCPUBITS - 1) / __NCPUBITS) * 8)
+  ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))
 # define __CPU_ALLOC(count) __sched_cpualloc (count)
 # define __CPU_FREE(cpuset) __sched_cpufree (cpuset)