Linus Torvalds blasts kernel dev for ‘making the world worse’ with ‘garbage’ patches

The Washington Post/Getty Images

You can’t say Linux creator Linus Torvalds didn’t give the kernel developers fair warning. 

He’d told them: “The upcoming merge window for 6.17 is going to be slightly chaotic for me. I have multiple family events this August (a wedding and a big birthday), and with said family being spread not only across the US, but in Finland too, I’m spending about half the month traveling.” 

Also: Linux’s remarkable journey from one dev’s hobby to 40 million lines of code – and counting

Therefore, Torvalds continued, “That does not mean I’ll be more lenient to late pull requests (probably quite the reverse, since it’s just going to add to the potential chaos).”

So, when Meta software engineer Palmer Dabbelt pushed through a set of RISC-V patches and admitted “this is very late,” he knew he was playing with fire. 

He just didn’t know how badly he’d be burned. 

Torvalds fired back on the Linux Kernel Mailing List (LKML): “This is garbage and it came in too late. I asked for early pull requests because I’m traveling, and if you can’t follow that rule, at least make the pull requests good.” 

Also: I’m a Linux expert, and here are 6 commands I can’t live without

It went downhill from there.

Torvalds continued: “This adds various garbage that isn’t RISC-V specific to generic header files. And by ‘garbage,” I really mean it. This is stuff that nobody should ever send me, never mind late in a merge window.”

Specifically, Torvalds hated the “crazy and pointless” way in which one of the patch’s helper functions combined two unsigned 16-bit integers into a 32-bit integer. 

How bad was it? “That thing makes the world actively a worse place to live. It’s useless garbage that makes any user incomprehensible, and actively *WORSE* than not using that stupid ‘helper.’”

Also: Linus Torvalds built Git in 10 days – and never imagined it would last 20 years

In addition to the quality issues, Torvalds was annoyed that the offending code was added to generic header files rather than the RISC-V tree. He emphasized that such generic changes could negatively impact the broader Linux community, writing:

You just made things WORSE, and you added that ‘helper’ to a generic non-RISC-V file where people are apparently supposed to use it to make other code worse too… So no. Things like this need to get bent. It does not go into generic header files, and it damn well does not happen late in the merge window. You’re on notice: no more late pull requests, and no more garbage outside the RISC-V tree.”

Welcome to the new, milder-tempered Torvalds. No, really. 

Torvalds’ comments used to be far more toxic. Every few months, he’d burst into a fit of swearing at individuals who triggered his ire. In 2018, he realized this was a problem and took a break from working on the Linux kernel to focus on his behavior toward other developers. After he got a handle on it, Torvalds returned to the kernel. As he said soon thereafter, he wouldn’t be “giving some company the finger. I learned my lesson.”

Also: How Debian 13’s little improvements add up to the distro’s surprisingly big leap forward

That said, he’s still a perfectionist who insists on high standards and discipline for kernel contributions, particularly for code affecting core components. Any RISC-V improvements will have to wait for a future release, provided the submissions come early and “without the garbage.”

Dabbelt gets it. He replied, “OK, sorry. I’ve been dropping the ball lately, and it kind of piled up, taking a bunch of stuff late, but that just leads to me making mistakes. So I’ll stop being late, and hopefully that helps with the quality issues.”


Continue Reading