You're welcome to GPL your code, if you want to be sure that nobody is ever going to use it.
They certainly could mandate that all new contributions are licensed as GPL2+, not the GPL2-only a lot of it is under. Then, after an eternity, when every bit is now GPL2+ (either by relicensing or rewriting), mandate all new commits are GPL3+. Then the only way to use it would be to rip out the GPL3+ parts (if you want GPL2 terms) or to use the GPL3.
Simple!
Except not really...
The theory I guess is that, even absent a contributor license agreement, contributors to the kernel are effectively contributing to a collective work and that the project as a whole could make changes even if individual contributors did not agree.