You can thank Linus for that, i.e. for refusing to upgrade to GPLv3.
GPLv3 deals with this problem exactly:
GPLv3 deals with this problem exactly:
Even if Linus were to move his own contributions to GPLv3 and require GPLv3 for all new contributions, he'd still have to get permission from every single individual who ever contributed code from the kernel. Some of these people are dead, so he'd have to deal with their next of kin (or more likely, their lawyers), who might be even more difficult to deal with.
The mistake was leaving out the "or, at your option, any later version" clause. That would have allowed new kernel code to be GPLv3+ licensed.