aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/workqueue.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-08-31 05:18:34 -0400
committerTejun Heo <tj@kernel.org>2010-08-31 05:18:34 -0400
commit9c37547ab62f88aac3e1e3c2065b611f811de9b5 (patch)
tree2a9c3655e25c93b4c3ce49c575d5d908045ebdd4 /kernel/workqueue.c
parent477a3c33d1efa0342a74bd02da2e049191993e2c (diff)
workqueue: use zalloc_cpumask_var() for gcwq->mayday_mask
alloc_mayday_mask() was using alloc_cpumask_var() making gcwq->mayday_mask contain garbage after initialization on CONFIG_CPUMASK_OFFSTACK=y configurations. This combined with the previously fixed GCWQ_DISASSOCIATED initialization bug could make rescuers fall into infinite loop trying to bind to an offline cpu. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: CAI Qian <caiqian@redhat.com>
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r--kernel/workqueue.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index c8183b235d16..785542976b00 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -196,7 +196,7 @@ typedef cpumask_var_t mayday_mask_t;
196 cpumask_test_and_set_cpu((cpu), (mask)) 196 cpumask_test_and_set_cpu((cpu), (mask))
197#define mayday_clear_cpu(cpu, mask) cpumask_clear_cpu((cpu), (mask)) 197#define mayday_clear_cpu(cpu, mask) cpumask_clear_cpu((cpu), (mask))
198#define for_each_mayday_cpu(cpu, mask) for_each_cpu((cpu), (mask)) 198#define for_each_mayday_cpu(cpu, mask) for_each_cpu((cpu), (mask))
199#define alloc_mayday_mask(maskp, gfp) alloc_cpumask_var((maskp), (gfp)) 199#define alloc_mayday_mask(maskp, gfp) zalloc_cpumask_var((maskp), (gfp))
200#define free_mayday_mask(mask) free_cpumask_var((mask)) 200#define free_mayday_mask(mask) free_cpumask_var((mask))
201#else 201#else
202typedef unsigned long mayday_mask_t; 202typedef unsigned long mayday_mask_t;