Forgot your password?
typodupeerror
Programming Linux

Rust Will Help Linux Succeed and Makes Coding Fun, Says Greg Kroah-Hartman (zdnet.com) 74

ZDNet reports on June's Open Source Summit India 2026 in Mumbai, where Linux stable kernel maintainer Greg Kroah-Hartman gave a talk titled "Rust and Linux: How the Rust Language is Going to Help Linux Succeed." Kroah-Hartman said in his keynote that "the [Linux] kernel is moving toward Rust. Git is moving toward Rust. Lots of projects are starting to move toward Rust."

He didn't always feel that way. Kroah-Hartman added, "A number of years ago, when a friend of mine said, 'Ah, you got to try this new language. It's called Rust.' I was like, 'What? No, C is great.' His friend continued, "'No, no, no! It makes programming fun again.' I'm like, 'Nah, programming is fun in C.' He was right. I should have done it then. Rust is actually fun. It makes programming fun. It takes a lot of stuff away from having to worry about the compiler, which can fix a lot of your problems for you, and it makes code a little bit better."

So, Kroah-Hartman has moved from being a Rust skeptic to one of its strongest champions inside the kernel. He now regards Rust as a permanent part of Linux, not an experiment. His case is straightforward: Rust's ownership and type system can eliminate most of the "stupid little tiny things" that dominate kernel Common Vulnerabilities and Exposures (CVEs), while making life easier for overworked maintainers. "Rust," in short, "makes my life so much easier...." In India, he said Linux sees "about 13 CVEs a day" and has been running at "almost nine changes an hour" for a decade or more. Most of those vulnerabilities, he argued, are not exotic attacks but simple C mistakes — unchecked pointers, forgotten unlocks, and sloppy cleanup paths: "This is what we're fixing 13 times a day. Small, trivial, little bugs like this all the time.... I've seen every CVE the kernel has done in the past 25 years. I think 80% would be gone, just because they would be caught by Rust." The remaining 20% are the logic bugs he'd prefer to focus on...."

Moreover, Rust is becoming the default for new work in key subsystems. "New drivers for some subsystems are only going to be accepted in Rust...." he said. Binder, the Android IPC mechanism at the heart of billions of devices, now has parallel C and Rust implementations in the kernel. The C version "will go away soon," leaving the Rust version "as the bedrock of all Android devices going forward."

Rust Will Help Linux Succeed and Makes Coding Fun, Says Greg Kroah-Hartman

Comments Filter:
  • And it has (Score:2, Funny)

    by Tablizer ( 95088 )

    ...blueberry marshmallows!

  • Fun (Score:4, Insightful)

    by phantomfive ( 622387 ) on Monday July 20, 2026 @12:27AM (#66247184) Journal
    I like Rust, but if you don't like programming in C, you won't like programming in Rust.

    If you have fun programming in Rust, you will have fun programming in C.

    "Fun" is something manager types tell you when they are trying to convince you to do something. If something is fun, you don't need to tell people. It's also what you tell toddlers [youtube.com].
    • by Anonymous Coward

      Rust is fun like financial accounting regulations are fun. As in, not fun or satisfying at all for anyone except a tiny minority of people.

      C is fun like wrenching on a motorcycle. Necessary if you want your things to work, and a bit dangerous if you aren't careful about your business.

    • by gtall ( 79522 )

      Liking programming will be beside the point in a few years when the bots have totally taken it over. In a way, it is poetic justice to see those Silicon Valley types who think computation is all anyone needs to know booted out on their asses; hoist on their own petard.

    • If you have fun programming in Rust, you will have fun programming in C.

      Programming in C is a bit of a slog, frankly. You have to do every. little. thing. by. hand, even though there's a perfectly good computer sitting right there you could (in principle) use to automate away tedious stuff.

      • by jythie ( 914043 )

        On the other hand, C does exactly what you tell it to do. Rust always feels like a constant argument with the compiler (linter really?) where it keeps going 'I understand what you are trying to but am not going to do it'

        • On the other hand, C does exactly what you tell it to do.

          Not exactly. It does what the compiler, through blind, fast, accurate and utterly mechanically stupid application of the rules of the standard believes you have told it. The standard has scope to allow for demons to fly from your nose and the compiler will oblige you in that if you accidentally ask it to.

          Rust always feels like a constant argument with the compiler (linter really?) where it keeps going 'I understand what you are trying to but am not go

          • Not an attack on C, but if you don't know what the compiler is going to do with your code you should have used another language.

            If you don't want it to prove Y than you can always just temporarily switch off the prover (i.e. borrow checker[*]) and fuck around with dereferencing raw pointers to your heart's content in an unsafe block.

            The problem is that the areas where the evangelists want Rust to save the world, like in the linux kernel, you're usually going to be doing that. It's a mirage.
            Most of the time when you can have all the protections, why are you even trying to use a compiled language? Maybe it should be written in Ruby or Python, or something.

        • by kertaamo ( 16100 )

          No. C does not do exactly what you tell it to do. Not with modern day optimisers transforming your code in all kind of interesting ways and doing totally weird things if you accidentally hit some undefined behaviour (as defined by the C standard)

          Those "arguments" you might have with the Rust compiler are no different that the arguments you will have with your failing tests, and debugger after your C code has compiled. The problems of getting your types lined up and lifetimes of data are the same in both ca

      • I seriously doubt you enjoy programming in any language.
        • Well, you'd be wrong, but don't let it change your opinion.

          I like C++, it's fun. Nice combination of being able to do whateverthefuck you want but also you can program the compiler. C has the former but not the latter, and as a programmer I like to program rather than be weirdly precious about not programing the compiler.

          I love AWK. It's just so good at what it does, and amazingly underrated.

          BASH is my homeboy.

          sed, because sometimes life is too easy

          Python and Java are... fine. I like programming in general

      • If you have fun programming in Rust, you will have fun programming in C.

        Programming in C is a bit of a slog, frankly. You have to do every. little. thing. by. hand ...

        That’s what C++ is for. Many C++ apps actually use little of C++. It is far more common to find that an app is mostly C style with just a few C++ features being used. Smart pointers being a common one.

    • Rust also makes quite a good target for AI-powered Spec Driven Development - if that's "fun" or not is a whole debate of its own, mind you.

      Rust is compiled, and it's pretty picky about what you can and can't do, so AI agents are quite easily able to iterate a couple of goes until they get something that actually compiles and runs. At that point, in a lot of cases they have /something/ to show for their efforts, very much v0.1, but it's usually a decent place from which to iterate.

      From then on, sure, it gets

    • This isn't obviously true at all. I wrote C for 20 years, and now cry every time I have to use C instead of Rust. It's like night and day difference.
    • While true, most Rust evangelists aren't programming in either language.

  • by EmperorOfCanada ( 1332175 ) on Monday July 20, 2026 @12:42AM (#66247198)
    When I make things in rust, the earlier modules just work. Later modules don't turn into accidental integration tests for the first modules. Obviously, I could screw up some business logic, but even that seems to be rare with rust, as I am spending way less time wondering why this or that threading bug can't be replicated, and can focus on the business logic, not the tool.
    • by DrXym ( 126579 )
      Rust catches bugs early by language design, enforcement at compile time and if necessary with runtime panics. So issues that would follow C/C++ into executable code and may not trigger until the code is in the hands of customers aren't even allowed to happen.

      It's still very easy to write application level bugs in Rust but having the door closed on so many by design means less overall. Other niceties like not having to write headers and sources, integrated unit testing, package management, cross compilatio

      • by haruchai ( 17472 )

        Something like Rust should have become the norm or the standard 25 years ago.
        Perhaps programming in it isn't fun but I'm long past fed up of hearing "use the right tool for the job" from those who refuse to use any tool except the ones they're already familiar with

    • I guess depending on what you mean by threading, you are describing things better written in C++ instead of C? The hardest thing is writing C programs then deciding they don't scale to purpose later.
  • Who does that anymore?

    • One still has to direct the AI. I was an "AI supervisor" recently that directed it to write me a very complete game with Rust. I described it in English, it gave the rough draft, and I smoothed out the details with basic prompts. It was a few hours of my time but I could see that back in the day it would have taken a team of coders a few months to write. It gave me the Rust code base when done. To me the language was English, but I can see how the English to AI to the executable code has to be done
    • by drnb ( 2434720 )

      Who does that anymore?

      People having fun. :-)

  • if you do not write the code.
  • So yeah, I guess it's fun in trying to reach those bygone years of by 80's childhood.

    let foo = bar;

    • All of the languages just boil down to syntax to me. I'm an assembly/C guy myself, but I guess Rust prevents stupid things like buffer overflows/memory leaks in some 'magical way' that probably inhibits creative coding, but with AI, all that low level stuff really turns into blocks to create in a minute, and then assemble them together. The language that seems to matter is the one that can interface with the AI the best.
      • by wed128 ( 722152 )

        inhibits creative coding

        It inhibits sloppy coding, but certainly not creative coding. It just requires some proof that you're not committing some programming sins. AI-produced code never gets reviewed adequately (you can't convince me that these people bragging about 50,000 lines a day are reviewing it all), but at least rust's compiler gives me some confidence in one class of bugs in its code (as long as you build your vibe-slop with `-Dunsafe-code`)

  • "$Coding_Language" will make coding fun!

    Since, but not including COBOL.

    It's fun if it makes coding it fun for you. And it scratches your itch. But no one language is either fun, nor is suitable for all use cases.

    Now, get off my lawn.

    • Well, I guess your mileage may vary. But I don't find tracking down memory errors fun. Or type errors, for that matter, but memory errors are worse, IMO. If you like tracking down memory and/or type errors, then I guess you'd find a memory unsafe and/or type unsafe language fun. But if I'm programming for fun, I use a memory safe and type safe language, because that lets me avoid what I don't find fun, so I can spend my time on what I do find fun.
    • I remember reading the exact same headline about Go some time ago. Then some time before that C++...... Java as well.

      • by kertaamo ( 16100 )

        Yes you did. However Go, C++ never offered anything more than "nice syntax" for this and that. Java helped with real problems, at the expense of the JVM and GC overhead. Rust however offers features never seen before in compiled to native code languages. Even the very anal Ada learned tricks from Rust in recent years,

    • COBOL was "$Coding_technology" is so easy anyone can program!
    • "$Coding_Language" will make coding fun!

      Since, but not including COBOL.

      COBOL’s goal was to make code work correctly. Admiral Grace Hopper made sure it met that goal. Too bad she didn’t help K&R and Bjarne. :-)

  • When you don't have to build a toaster to make toast it becomes fun.

    Very few people enjoy the art of craft. Programming is no different.

    Getting the benefit of craftsmanship is a lot more appealing than making the effort to learn how to produce that benefit yourself.

    As AI becomes more capable, accessible and cheap the limits will be our understanding and creativity. I do believe the best AI today can code in Rust too...and as Linux lends itself we'll to AI and headless automation it will continue to do
  • No argument about the accomplishments of Greg HK, but first, Linux has already succeeded. And second, most people will struggle with Rust. It is just too complex for the average kernel contributor. It also does not, as Linus has pointed out, prevent logic errors.

    • If Rust is too complex then so is C.

      C pushes ALL of the complexity onto the programmer, whereas more recent languages get the computer to do things it's good at.

      It also does not, as Linus has pointed out, prevent logic errors.

      That's not wrong, it's also not right either. For example, C has no way of distinguishing between a pointer to an array, a pointer to a single datum and a pointer to an object which might not exist (i.e.one that can hold NULL), and of course nothing about the ownership of the pointee.

      • by gweihir ( 88907 )

        From your utterly lucidus statement, you seem to not know either Rust or C.

        • I think C fanatics are possibly even worse than Rust fanatics.

          No debate, no argument, just flinging poo and ignoring the last 70 years of computer science development.

          I note you didn't actually address a single point. It's because you know you can't and know you are wrong.

      • If Rust is too complex then so is C.

        Only to those in the Rust Team’s PR and media relations office.

  • by quonset ( 4839537 ) on Monday July 20, 2026 @06:24AM (#66247434)

    Whenever a story about Rust comes up, one must be always be aware of the consequences [imgur.com].

  • AI (Score:3, Insightful)

    by fluffernutter ( 1411889 ) on Monday July 20, 2026 @06:30AM (#66247440)
    If all the "problems" are stupid little things then why not just have AI clean it up? Insist that developers use AI defensively rather than tying their hands with a language that limits them.
    • Someone with an agenda has downmodded me already. I commented ten minutes ago.
    • If all the "problems" are stupid little things then why not just have AI clean it up? Insist that developers use AI defensively rather than tying their hands with a language that limits them.

      The AI is trained on the output of human developers and so has the same problems as human developers. Computationally, a "wrong" program can be just as valid a result as a "right" program. You only avoid the wrong program through some form of constraint. If your constraints are all in your context window, rather than in your development environment then

      a) they push other things that might also be important out of the context window
      b) they are subject to the misunderstandings of the same constrains that exis

      • That's why you keep the field small. Handle one kind of error at a time. Have it debug every change and look again for more errors. Loop this until it can't find any. Get it to report exactly what it did in words and confirm it looks reasonable to you. Loop again if it isn't reasonable. That is way faster than doing it manually. AI would even segment off the code and do a unit test for you.
        • by Jeremi ( 14640 )

          That's why you keep the field small. Handle one kind of error at a time. Have it debug every change and look again for more errors. Loop this until it can't find any. Get it to report exactly what it did in words and confirm it looks reasonable to you. Loop again if it isn't reasonable. That is way faster than doing it manually.

          Is it faster? It sounds really tedious and error-prone to me. If someone were to suggest I quit writing code and instead spend the rest of my career supervising the intern as he writes code for me to review and correct, I'd feel the same way about that.

      • Computationally, a "wrong" program can be just as valid a result as a "right" program.

        I think you have a point you are trying to make, but I cannot figure out what you are trying to say here at all.

        • by Jeremi ( 14640 )

          Here's some example code of a "wrong" program that is 100% valid:

          // well-formed code; no compiler will flag an error
          int sum_two_numbers(int a, int b)
          {
                  return a-b;
          }

  • There are tens of thousands of programming languages, probably millions if you consider cs students personal hobby languages but 99.9% of us are compiling for either ARM or x86 and no matter how smart the higher level is you're still going to get problems like spectre and meltdown ruining your perfect code, then there are problems in the silicon itself like cosmic rays and quantum tunnelling.
  • In what ways? The only area that Linux has not taken over is the desktop, and that's because of Microsoft's entrenchment, not anything to do with language used for the Linux kernel.
    • And Microsoft themself is now acting to make that dependence on Windows go away, with web-based versions of their applications. I think they can see that Windows' time is limited. Maintaining an OS is a big thankless job that they don't need to do, and they're not any good at it so it's not like they deserve thanks anyway.

      • > And Microsoft themself is now acting to make that dependence on Windows go away, with web-based versions of their applications.

        By making people dependent on their cloud perpetual subscription versions.
        • By making people dependent on their cloud perpetual subscription versions.

          Right, they want them dependent on the applications, and providing the OS is no longer necessary to accomplish that.

    • by wed128 ( 722152 )
      It will help it succeed in the goal of having fewer memory-based CVEs.
  • Why would I like a compiler that just cannot wait to bite me in the ass? I like the attitude of C best: Shooting yourself in the foot, sir? Yessir! Right away sir!.
  • > Most of those vulnerabilities, he argued, are not exotic attacks but simple C mistakes — unchecked pointers, forgotten unlocks, and sloppy cleanup paths: "This is what we're fixing 13 times a day. Small, trivial, little bugs like this all the time.... I've seen every CVE the kernel has done in the past 25 years. I think 80% would be gone, just because they would be caught by Rust." Sorry Greg, but this won't happen. Rust is such a difficult language to work in, that the only people who will use
  • You must strike your back with this rusty piece of barbed wire 19 times per hour. It's fun.

    Wish they would use a programming language with a bit more of a proven track record, though. Ada is where it's at.

There are no data that cannot be plotted on a straight line if the axis are chosen correctly.

Working...