Linus Torvalds gave the world Linux 4.8 earlier this week, but now appears to wish he didn't after spotting some code he says can “kill the kernel.”
When Torvalds announced Linux 4.8 on Sunday he said the final version added “a few stragging fixes since rc8.”
But by Tuesday he was back on the Linux Kernel Mailing list apologising for a bug fix gone bad.
“I'm really sorry I applied that last series from Andrew just before doing the 4.8 release, because they cause problems, and now it is in 4.8 (and that buggy crap is marked for stable too).”
The “crap” in question is an attempt to fix a bug that's been present in Linux since version 3.15. Torvalds rates the fix for that bug “clearly worse than the bug it tried to fix, since that original bug has never killed my machine!”
Torvalds isn't happy with kernel contributor Andrew Morton, who he says is debugging with a known bad use of
“I've ranted against people using
BUG_ON() for debugging in the past. Why the f*ck does this still happen?” Torvalds writes, pointing to a 2002 post to the kernel mailing list outlining how to do
BUG_ON() right. He later adds “so excuse me for being upset that people still do this shit almost 15 years later.”
Morton has taken Torvalds' criticisms on the chin. But Torvalds also thinks he could and should have done better, as he writes:
I should have reacted to the damn added BUG_ON() lines. I suspect I will have to finally just remove the idiotic BUG_ON() concept once and for all, because there is NO F*CKING EXCUSE to knowingly kill the kernel.
This problem will soon be sorted, as is the way of Linux.
If you want to enjoy version 4.8 of the kernel now, you'll be able to play with features including: HDMI CEC support, making Linux able to control chained HDMI devices with a single remote control; Hardened Usercopy Protection to secure content as it moves into userspace; Support for the Raspberry Pi 3; Support for the touch screen on Microsoft Surface devices.
The kernel can be downloaded from this link. ®