X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=lib%2Fcpumask.c;h=3389e2440da0f30a76d49ab63f3419bce857849b;hb=4705e8c8508e4278a174855815b0fcd26fbc7e00;hp=8e1496cb63f7a1e84b09a540186192ca6c479d85;hpb=e9690a6e4b1615cb0102e425e04b7ce29e7858e2;p=linux-2.6-omap-h63xx.git diff --git a/lib/cpumask.c b/lib/cpumask.c index 8e1496cb63f..3389e2440da 100644 --- a/lib/cpumask.c +++ b/lib/cpumask.c @@ -107,6 +107,14 @@ bool alloc_cpumask_var_node(cpumask_var_t *mask, gfp_t flags, int node) dump_stack(); } #endif + /* FIXME: Bandaid to save us from old primitives which go to NR_CPUS. */ + if (*mask) { + unsigned int tail; + tail = BITS_TO_LONGS(NR_CPUS - nr_cpumask_bits) * sizeof(long); + memset(cpumask_bits(*mask) + cpumask_size() - tail, + 0, tail); + } + return *mask != NULL; } EXPORT_SYMBOL(alloc_cpumask_var_node);