summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorPaul Jackson <pj@sgi.com>2005-08-24 04:15:10 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-08-24 09:40:45 -0700
commit3725822f7c7134249addcd4549aff086950c8090 (patch)
treed7db18d3d5f75fe4309ddc7aa373f3213f845b41 /kernel
parent40bb0c3ef52d872de348e10000eb5432a43a147d (diff)
downloadlinux-stable-3725822f7c7134249addcd4549aff086950c8090.tar.gz
linux-stable-3725822f7c7134249addcd4549aff086950c8090.tar.bz2
linux-stable-3725822f7c7134249addcd4549aff086950c8090.zip
[PATCH] cpu_exclusive sched domains build fix
As reported by Paul Mackerras <paulus@samba.org>, the previous patch "cpu_exclusive sched domains fix" broke the ppc64 build with CONFIC_CPUSET, yielding error messages: kernel/cpuset.c: In function 'update_cpu_domains': kernel/cpuset.c:648: error: invalid lvalue in unary '&' kernel/cpuset.c:648: error: invalid lvalue in unary '&' On some arch's, the node_to_cpumask() is a function, returning a cpumask_t. But the for_each_cpu_mask() requires an lvalue mask. The following patch fixes this build failure by making a copy of the cpumask_t on the stack. Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cpuset.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index e0d296c5b302..d7f4d0c95737 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -645,7 +645,9 @@ static void update_cpu_domains(struct cpuset *cur)
int i, j;
for_each_cpu_mask(i, cur->cpus_allowed) {
- for_each_cpu_mask(j, node_to_cpumask(cpu_to_node(i))) {
+ cpumask_t mask = node_to_cpumask(cpu_to_node(i));
+
+ for_each_cpu_mask(j, mask) {
if (!cpu_isset(j, cur->cpus_allowed))
return;
}