The current behaviour comes from r177661. I don't quite understand the
logic: if it's a third-party module, then presumably it was compiled
with SMP enabled, so it'll see the default MAXCPU value anyway.
If it was compiled together with the kernel, then KLDs should use the
same value as the kernel.
The current behaviour ensures that KLDs see a different layout for
cpuset_t than a non-SMP kernel. This breaks a few interfaces, notably
smp_rendezvous_cpus(), which takes a cpuset_t by value.
PR: 243711