It's also a good reason for checking ranges. Putting unsigned values into signed variables
could do all kinds of ugly things, as could the reverse, or any other unwise casting of types.
The fact that so few bugs of this kind have turned up over the entirety of the kernel lifespan
merits applause to the superb kernel coders out there, but as this illustrates, these sorts of
bugs happen even to the best.