Messages in this thread | | | Date | Mon, 9 Feb 2009 11:16:42 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/3] cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL. |
| |
* Rusty Russell <rusty@rustcorp.com.au> wrote:
> (Thanks to Al Viro for reminding me of this, via Ingo) > > CPU_MASK_ALL is the (deprecated) "all bits set" cpumask, defined as so: > > #define CPU_MASK_ALL (cpumask_t) { { ... } } > > Taking the address of such a temporary is questionable at best, > unfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added > CPU_MASK_ALL_PTR: > > #define CPU_MASK_ALL_PTR (&CPU_MASK_ALL) > > Which formalizes this practice. One day gcc could bite us over this > usage (though we seem to have gotten away with it so far). > > So replace everywhere which used &CPU_MASK_ALL or CPU_MASK_ALL_PTR > with the modern "cpu_all_mask" (a real struct cpumask *), and remove > CPU_MASK_ALL_PTR altogether. > > Also remove the confusing and deprecated large-NR_CPUS-only > "cpu_mask_all". > > Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> > Cc: Al Viro <viro@zeniv.linux.org.uk>
In general this should be expressed via this tag:
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Thanks,
Ingo
| |