This is a great idea, especially since it will make it even more
painfully obvious that essentially any function local cpumask_t
variable is a bug.
Really, it seems sensible to do something like:
1) Make cpumask_t a pointer.
2) Add cpumask_data_t which is what cpumask_t is now. This gets
used when for the actual storage, and will only get applied to
datastructures that are dynamically allocated. For example, for
the cpu_vm_mask in mm_struct.
3) Type make and fix build failures until they are all gone.