diff options
author | Tejun Heo <tj@kernel.org> | 2010-08-31 11:18:34 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2010-08-31 11:18:34 +0200 |
commit | 9c37547ab62f88aac3e1e3c2065b611f811de9b5 (patch) | |
tree | 2a9c3655e25c93b4c3ce49c575d5d908045ebdd4 /kernel | |
parent | workqueue: fix GCWQ_DISASSOCIATED initialization (diff) | |
download | linux-9c37547ab62f88aac3e1e3c2065b611f811de9b5.tar.xz linux-9c37547ab62f88aac3e1e3c2065b611f811de9b5.zip |
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')
-rw-r--r-- | kernel/workqueue.c | 2 |
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; cpumask_test_and_set_cpu((cpu), (mask)) #define mayday_clear_cpu(cpu, mask) cpumask_clear_cpu((cpu), (mask)) #define for_each_mayday_cpu(cpu, mask) for_each_cpu((cpu), (mask)) -#define alloc_mayday_mask(maskp, gfp) alloc_cpumask_var((maskp), (gfp)) +#define alloc_mayday_mask(maskp, gfp) zalloc_cpumask_var((maskp), (gfp)) #define free_mayday_mask(mask) free_cpumask_var((mask)) #else typedef unsigned long mayday_mask_t; |