Skip to content
  • Hjem
  • Seneste
  • Etiketter
  • Populære
  • Verden
  • Bruger
  • Grupper
Temaer
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Kollaps
FARVEL BIG TECH
  1. Forside
  2. Ikke-kategoriseret
  3. The coreutils Rust rewrite story is pretty funny.

The coreutils Rust rewrite story is pretty funny.

Planlagt Fastgjort Låst Flyttet Ikke-kategoriseret
198 Indlæg 103 Posters 149 Visninger
  • Ældste til nyeste
  • Nyeste til ældste
  • Most Votes
Svar
  • Svar som emne
Login for at svare
Denne tråd er blevet slettet. Kun brugere med emne behandlings privilegier kan se den.
  • lcamtuf@infosec.exchangeL This user is from outside of this forum
    lcamtuf@infosec.exchangeL This user is from outside of this forum
    lcamtuf@infosec.exchange
    wrote sidst redigeret af
    #1

    The coreutils Rust rewrite story is pretty funny.

    Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

    But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

    https://seclists.org/oss-sec/2026/q2/332

    PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

    chuckmcmanis@chaos.socialC synlogic4242@social.vivaldi.netS pikhq@social.treehouse.systemsP simonzerafa@infosec.exchangeS prozacchiwawa@functional.cafeP 53 Replies Last reply
    0
    • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

      The coreutils Rust rewrite story is pretty funny.

      Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

      But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

      https://seclists.org/oss-sec/2026/q2/332

      PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

      chuckmcmanis@chaos.socialC This user is from outside of this forum
      chuckmcmanis@chaos.socialC This user is from outside of this forum
      chuckmcmanis@chaos.social
      wrote sidst redigeret af
      #2

      @lcamtuf mumble, mumble, Chesterson's Fence, mumble, mumble

      darkuncle@infosec.exchangeD K 2 Replies Last reply
      0
      • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

        The coreutils Rust rewrite story is pretty funny.

        Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

        But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

        https://seclists.org/oss-sec/2026/q2/332

        PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

        synlogic4242@social.vivaldi.netS This user is from outside of this forum
        synlogic4242@social.vivaldi.netS This user is from outside of this forum
        synlogic4242@social.vivaldi.net
        wrote sidst redigeret af
        #3

        @lcamtuf Rustaceans are the problem, not Rust itself. theyre like a lobbing group trying explicitly to boost their future employment demand much more than prioritized on doing the right thing as engineers or for the community. much like the AI VC are "talking up their book" even if its poison for the rest of us

        rmq@toot.ioR yon@sakurajima.moeY 2 Replies Last reply
        0
        • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

          The coreutils Rust rewrite story is pretty funny.

          Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

          But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

          https://seclists.org/oss-sec/2026/q2/332

          PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

          pikhq@social.treehouse.systemsP This user is from outside of this forum
          pikhq@social.treehouse.systemsP This user is from outside of this forum
          pikhq@social.treehouse.systems
          wrote sidst redigeret af
          #4

          @lcamtuf and it's very worth remembering that while the design of rust _does_ prevent many bugs, it's not a get-out-of-bugs-free card. there are many ways to write code wrong, not just memory safety issues!

          petrillic@hachyderm.ioP argv_minus_one@mastodon.sdf.orgA 2 Replies Last reply
          0
          • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

            The coreutils Rust rewrite story is pretty funny.

            Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

            But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

            https://seclists.org/oss-sec/2026/q2/332

            PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

            simonzerafa@infosec.exchangeS This user is from outside of this forum
            simonzerafa@infosec.exchangeS This user is from outside of this forum
            simonzerafa@infosec.exchange
            wrote sidst redigeret af
            #5

            @lcamtuf

            Deus forbid if they create a functional specification of how the existing utilities work, before converting / rewriting them in a new language 😟🤦‍♂️

            drwho@masto.hackers.townD beandev@social.tchncs.deB 2 Replies Last reply
            0
            • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

              The coreutils Rust rewrite story is pretty funny.

              Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

              But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

              https://seclists.org/oss-sec/2026/q2/332

              PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

              prozacchiwawa@functional.cafeP This user is from outside of this forum
              prozacchiwawa@functional.cafeP This user is from outside of this forum
              prozacchiwawa@functional.cafe
              wrote sidst redigeret af
              #6

              @lcamtuf i do find that the crates dedicated to atomic file handling and temp files, in the interest of providing a uniform platform interface aren't as good as what's reachable in c.

              it's not a fault of the rust language per se, but writing a safe interface at that level isn't easy, so it makes sense (and is in some sense a better default) to have high level, platform neutral access here.

              L argv_minus_one@mastodon.sdf.orgA 2 Replies Last reply
              0
              • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

                The coreutils Rust rewrite story is pretty funny.

                Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

                But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

                https://seclists.org/oss-sec/2026/q2/332

                PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

                xerz@soc.masfloss.netX This user is from outside of this forum
                xerz@soc.masfloss.netX This user is from outside of this forum
                xerz@soc.masfloss.net
                wrote sidst redigeret af
                #7

                @lcamtuf ........ouch

                I'm shocked they didn't account for any of that

                hypha@cafe.mycelium.locahlo.stH 1 Reply Last reply
                0
                • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

                  The coreutils Rust rewrite story is pretty funny.

                  Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

                  But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

                  https://seclists.org/oss-sec/2026/q2/332

                  PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

                  darkuncle@infosec.exchangeD This user is from outside of this forum
                  darkuncle@infosec.exchangeD This user is from outside of this forum
                  darkuncle@infosec.exchange
                  wrote sidst redigeret af
                  #8

                  @lcamtuf very much a Chesterton's Fence kind of situation

                  nicksilkey@hachyderm.ioN 1 Reply Last reply
                  0
                  • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

                    @lcamtuf mumble, mumble, Chesterson's Fence, mumble, mumble

                    darkuncle@infosec.exchangeD This user is from outside of this forum
                    darkuncle@infosec.exchangeD This user is from outside of this forum
                    darkuncle@infosec.exchange
                    wrote sidst redigeret af
                    #9

                    @ChuckMcManis @lcamtuf came to say this, you beat me to it, well done

                    chuckmcmanis@chaos.socialC S 2 Replies Last reply
                    0
                    • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

                      The coreutils Rust rewrite story is pretty funny.

                      Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

                      But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

                      https://seclists.org/oss-sec/2026/q2/332

                      PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

                      migratory@jorts.horseM This user is from outside of this forum
                      migratory@jorts.horseM This user is from outside of this forum
                      migratory@jorts.horse
                      wrote sidst redigeret af
                      #10

                      @lcamtuf this is so funny and predictable because it's applying Rust in precisely the domain where it doesn't help: opaque, imperative side-effects in the global mutable state of the UNIX world of the filesystem and process tree

                      1 Reply Last reply
                      0
                      • darkuncle@infosec.exchangeD darkuncle@infosec.exchange

                        @ChuckMcManis @lcamtuf came to say this, you beat me to it, well done

                        chuckmcmanis@chaos.socialC This user is from outside of this forum
                        chuckmcmanis@chaos.socialC This user is from outside of this forum
                        chuckmcmanis@chaos.social
                        wrote sidst redigeret af
                        #11

                        @darkuncle @lcamtuf
                        During my tenure at Google I was astonished at how many engineers would clearly admit they didn't understand why something was the way it was, so they rewrote it. This *repeatedly* bit them in the ass.

                        darkuncle@infosec.exchangeD josh@hactivedirectory.comJ 2 Replies Last reply
                        0
                        • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

                          @darkuncle @lcamtuf
                          During my tenure at Google I was astonished at how many engineers would clearly admit they didn't understand why something was the way it was, so they rewrote it. This *repeatedly* bit them in the ass.

                          darkuncle@infosec.exchangeD This user is from outside of this forum
                          darkuncle@infosec.exchangeD This user is from outside of this forum
                          darkuncle@infosec.exchange
                          wrote sidst redigeret af
                          #12

                          @ChuckMcManis @lcamtuf sometimes that's the only way to learn, but it's also often the most effective way to learn

                          sten@chaos.socialS 1 Reply Last reply
                          0
                          • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

                            The coreutils Rust rewrite story is pretty funny.

                            Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

                            But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

                            https://seclists.org/oss-sec/2026/q2/332

                            PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

                            benh@mastodon.scotB This user is from outside of this forum
                            benh@mastodon.scotB This user is from outside of this forum
                            benh@mastodon.scot
                            wrote sidst redigeret af
                            #13

                            @lcamtuf

                            Joel spolsky had a great blogpost about exactly this didn't he

                            benh@mastodon.scotB 1 Reply Last reply
                            0
                            • benh@mastodon.scotB benh@mastodon.scot

                              @lcamtuf

                              Joel spolsky had a great blogpost about exactly this didn't he

                              benh@mastodon.scotB This user is from outside of this forum
                              benh@mastodon.scotB This user is from outside of this forum
                              benh@mastodon.scot
                              wrote sidst redigeret af
                              #14

                              @lcamtuf

                              https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/

                              cmdrmoto@hachyderm.ioC 1 Reply Last reply
                              0
                              • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

                                The coreutils Rust rewrite story is pretty funny.

                                Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

                                But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

                                https://seclists.org/oss-sec/2026/q2/332

                                PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

                                hyc@mastodon.socialH This user is from outside of this forum
                                hyc@mastodon.socialH This user is from outside of this forum
                                hyc@mastodon.social
                                wrote sidst redigeret af
                                #15

                                @lcamtuf See this all the time - people storm in trying to change things before trying to understand how the current things work. People who don't learn from what's been done before. Society doesn't progress from efforts like theirs. You only make progress by learning from and building on top of what came before.

                                synlogic4242@social.vivaldi.netS kajord@hachyderm.ioK argv_minus_one@mastodon.sdf.orgA w8emv@a2mi.socialW 4 Replies Last reply
                                0
                                • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

                                  The coreutils Rust rewrite story is pretty funny.

                                  Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

                                  But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

                                  https://seclists.org/oss-sec/2026/q2/332

                                  PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

                                  raymaccarthy@mastodon.ieR This user is from outside of this forum
                                  raymaccarthy@mastodon.ieR This user is from outside of this forum
                                  raymaccarthy@mastodon.ie
                                  wrote sidst redigeret af
                                  #16

                                  @lcamtuf
                                  I learned C++ after Modula-2 and before C.
                                  I learned programming earlier.

                                  Learning a programming language isn't learning programming (extracting requirements, specification, design, coding, test etc).
                                  I looked at Rust. C++ certainly has got too complicated since 1987, but I wonder does Rust *only* help with memory safety?
                                  Main memory safety in general relates to using pointers that are invalid, accessing arrays out of bounds and past the end of strings.
                                  Partly bad libraries & design.

                                  zardoz03@mastodon.onlineZ lispi314@udongein.xyzL beandev@social.tchncs.deB 3 Replies Last reply
                                  0
                                  • hyc@mastodon.socialH hyc@mastodon.social

                                    @lcamtuf See this all the time - people storm in trying to change things before trying to understand how the current things work. People who don't learn from what's been done before. Society doesn't progress from efforts like theirs. You only make progress by learning from and building on top of what came before.

                                    synlogic4242@social.vivaldi.netS This user is from outside of this forum
                                    synlogic4242@social.vivaldi.netS This user is from outside of this forum
                                    synlogic4242@social.vivaldi.net
                                    wrote sidst redigeret af
                                    #17

                                    @hyc @lcamtuf ie. be like LEGO not Death Stars

                                    wonka@chaos.socialW 1 Reply Last reply
                                    0
                                    • simonzerafa@infosec.exchangeS simonzerafa@infosec.exchange

                                      @lcamtuf

                                      Deus forbid if they create a functional specification of how the existing utilities work, before converting / rewriting them in a new language 😟🤦‍♂️

                                      drwho@masto.hackers.townD This user is from outside of this forum
                                      drwho@masto.hackers.townD This user is from outside of this forum
                                      drwho@masto.hackers.town
                                      wrote sidst redigeret af
                                      #18

                                      @simonzerafa @lcamtuf Hahahahahah...

                                      Madness.

                                      1 Reply Last reply
                                      0
                                      • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

                                        The coreutils Rust rewrite story is pretty funny.

                                        Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

                                        But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

                                        https://seclists.org/oss-sec/2026/q2/332

                                        PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

                                        lee_holmes@infosec.exchangeL This user is from outside of this forum
                                        lee_holmes@infosec.exchangeL This user is from outside of this forum
                                        lee_holmes@infosec.exchange
                                        wrote sidst redigeret af
                                        #19

                                        @lcamtuf Yeah, not a good situation - even doing it in "safe C++" or somesuch would have had the same result. Decades of hard-learned lessons should be encoded in decades of well-written unit tests.

                                        1 Reply Last reply
                                        0
                                        • lcamtuf@infosec.exchangeL lcamtuf@infosec.exchange

                                          The coreutils Rust rewrite story is pretty funny.

                                          Coreutils are tools like rm, mv, mkdir, etc. Unlike binutils, this isn't a fertile ground for memory safety bugs. But, the rewrite was completed, and in the spirit of progress, Canonical decided to switch.

                                          But do you know what coreutils are a fertile ground for? Race conditions around file creation, deletion, permission setting, and so on. The original code accounted for decades of hard-learned lessons in that space. The Rust rewrite did not:

                                          https://seclists.org/oss-sec/2026/q2/332

                                          PS. I'm not dunking on Rust. It's just that... starting over from scratch has its hidden costs.

                                          drwho@masto.hackers.townD This user is from outside of this forum
                                          drwho@masto.hackers.townD This user is from outside of this forum
                                          drwho@masto.hackers.town
                                          wrote sidst redigeret af
                                          #20

                                          @lcamtuf Welp. Got rent for next month covered.

                                          1 Reply Last reply
                                          0
                                          Svar
                                          • Svar som emne
                                          Login for at svare
                                          • Ældste til nyeste
                                          • Nyeste til ældste
                                          • Most Votes


                                          • Log ind

                                          • Har du ikke en konto? Tilmeld

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          Graciously hosted by data.coop
                                          • First post
                                            Last post
                                          0
                                          • Hjem
                                          • Seneste
                                          • Etiketter
                                          • Populære
                                          • Verden
                                          • Bruger
                                          • Grupper