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 309 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.
  • chuckmcmanis@chaos.socialC chuckmcmanis@chaos.social

    @josh

    Dev culture was one long series of "dick measurements" as one engineer put it. That was because of how Google evaluated engineers and how reviews got written. How that emerged in practice was that saying "I don't know" was like saying "fire me now" to a lot of these kids. So they couldn't introspect at all in front of others. I was not popular (as you might guess) for asking "rude" questions. 😃 But I also didn't care if Google chose to fire me so there was that. 2/2

    @darkuncle @lcamtuf

    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
    #183

    @ChuckMcManis @josh @lcamtuf incentives trump everything

    1 Reply Last reply
    0
    • 2something@transfem.social2 2something@transfem.social

      @Seirdy@pleroma.envs.net @ireneista@adhd.irenes.space @lcamtuf@infosec.exchange @Doomed_Daniel@mastodon.gamedev.place @puppygirlhornypost2

      I have personally found it mildly irritating that
      a) GNU Grep has PCRE as an option but Gnu Sed does not, and
      b) Sometimes I can figure out how to do something in PCRE but not whatever version of regex GNU sed uses.

      I can get around this mild irritation by using perl or python directly instead of sed.

      seirdy@pleroma.envs.netS This user is from outside of this forum
      seirdy@pleroma.envs.netS This user is from outside of this forum
      seirdy@pleroma.envs.net
      wrote sidst redigeret af
      #184

      @2something@transfem.social @lcamtuf@infosec.exchange @Doomed_Daniel@mastodon.gamedev.place @ireneista@irenes.space @puppygirlhornypost2@transfem.social the sd utility is excellent for this <img class=“not-responsive emoji” src=“https://pleroma.envs.net/emoji/custom/colon_three.png” title=“:colon_three:” />

      2something@transfem.social2 1 Reply Last reply
      0
      • wolf480pl@mstdn.ioW wolf480pl@mstdn.io

        @sten @darkuncle @ChuckMcManis @lcamtuf
        you expect rare race conditions to occur anywhere but production? 😛

        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
        #185

        @wolf480pl @sten @ChuckMcManis @lcamtuf most serious race condition in production is the race to push to prod before you bounce on a Friday afternoon

        1 Reply Last reply
        0
        • seirdy@pleroma.envs.netS seirdy@pleroma.envs.net

          @2something@transfem.social @lcamtuf@infosec.exchange @Doomed_Daniel@mastodon.gamedev.place @ireneista@irenes.space @puppygirlhornypost2@transfem.social the sd utility is excellent for this <img class=“not-responsive emoji” src=“https://pleroma.envs.net/emoji/custom/colon_three.png” title=“:colon_three:” />

          2something@transfem.social2 This user is from outside of this forum
          2something@transfem.social2 This user is from outside of this forum
          2something@transfem.social
          wrote sidst redigeret af
          #186

          @Seirdy@pleroma.envs.net @lcamtuf@infosec.exchange @Doomed_Daniel@mastodon.gamedev.place @ireneista@adhd.irenes.space @puppygirlhornypost2

          I just ran
          man sd and I don't understand anything of what it said.

          seirdy@pleroma.envs.netS 1 Reply Last reply
          0
          • 2something@transfem.social2 2something@transfem.social

            @Seirdy@pleroma.envs.net @lcamtuf@infosec.exchange @Doomed_Daniel@mastodon.gamedev.place @ireneista@adhd.irenes.space @puppygirlhornypost2

            I just ran
            man sd and I don't understand anything of what it said.

            seirdy@pleroma.envs.netS This user is from outside of this forum
            seirdy@pleroma.envs.netS This user is from outside of this forum
            seirdy@pleroma.envs.net
            wrote sidst redigeret af
            #187

            @2something@transfem.social @lcamtuf@infosec.exchange @Doomed_Daniel@mastodon.gamedev.place @ireneista@irenes.space @puppygirlhornypost2@transfem.social no thats something else. it’s one of those newer rust utilities like what ripgrep is for grep.

            https://github.com/chmln/sd

            seirdy@pleroma.envs.netS 1 Reply Last reply
            0
            • synlogic4242@social.vivaldi.netS synlogic4242@social.vivaldi.net

              @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

              yon@sakurajima.moeY This user is from outside of this forum
              yon@sakurajima.moeY This user is from outside of this forum
              yon@sakurajima.moe
              wrote sidst redigeret af
              #188

              @synlogic4242 @lcamtuf I’ve learnt to differentiate between people who only talk about the tech, and never about solving problems. It’s been the same for decades.

              Tech can be fun, not saying it shouldn’t be. But it doesn’t create solutions by itself.

              synlogic4242@social.vivaldi.netS 1 Reply Last reply
              0
              • seirdy@pleroma.envs.netS seirdy@pleroma.envs.net

                @2something@transfem.social @lcamtuf@infosec.exchange @Doomed_Daniel@mastodon.gamedev.place @ireneista@irenes.space @puppygirlhornypost2@transfem.social no thats something else. it’s one of those newer rust utilities like what ripgrep is for grep.

                https://github.com/chmln/sd

                seirdy@pleroma.envs.netS This user is from outside of this forum
                seirdy@pleroma.envs.netS This user is from outside of this forum
                seirdy@pleroma.envs.net
                wrote sidst redigeret af
                #189

                @2something@transfem.social @Doomed_Daniel@mastodon.gamedev.place @ireneista@irenes.space @lcamtuf@infosec.exchange @puppygirlhornypost2@transfem.social it’s not full pcre with stuff like variable length lookbehinds but it’s close enough with named capture groups and the like. It uses Rust’s regex crate

                seirdy@pleroma.envs.netS 1 Reply Last reply
                0
                • seirdy@pleroma.envs.netS seirdy@pleroma.envs.net

                  @2something@transfem.social @Doomed_Daniel@mastodon.gamedev.place @ireneista@irenes.space @lcamtuf@infosec.exchange @puppygirlhornypost2@transfem.social it’s not full pcre with stuff like variable length lookbehinds but it’s close enough with named capture groups and the like. It uses Rust’s regex crate

                  seirdy@pleroma.envs.netS This user is from outside of this forum
                  seirdy@pleroma.envs.netS This user is from outside of this forum
                  seirdy@pleroma.envs.net
                  wrote sidst redigeret af
                  #190

                  @2something@transfem.social @Doomed_Daniel@mastodon.gamedev.place @ireneista@irenes.space @lcamtuf@infosec.exchange @puppygirlhornypost2@transfem.social it’s packaged by almost every distro and easy to statically link and take with you

                  2something@transfem.social2 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.

                    not2b@sfba.socialN This user is from outside of this forum
                    not2b@sfba.socialN This user is from outside of this forum
                    not2b@sfba.social
                    wrote sidst redigeret af
                    #191

                    @lcamtuf As someone who spent more than 30 years writing C++ professionally, I don't object to efforts to rewrite that stuff in a safer language, and I like Rust, but Canonical was extremely premature in their decision to make the rewritten coreutils the default. As the article makes clear, they completely ignored race condition issues, and I'm wondering if management didn't understand that Rust's ability to prevent data races does not carry over to filesystem races. With this huge volume of CVEs it seems that their testing efforts must have been woefully inadequate. I suppose one way to go is to just ship it and let the Internet test it for them.

                    1 Reply Last reply
                    0
                    • yon@sakurajima.moeY yon@sakurajima.moe

                      @synlogic4242 @lcamtuf I’ve learnt to differentiate between people who only talk about the tech, and never about solving problems. It’s been the same for decades.

                      Tech can be fun, not saying it shouldn’t be. But it doesn’t create solutions by itself.

                      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
                      #192

                      @yon @lcamtuf agreed. I've been building, solving and shipping for decades, repeatedly. I've fixed Heinsenbugs in legacy systems that had millions of dollars of biz revenue flowing through it. My code runs as part of our collective infrastructure. I prob know a bit about which I speak. 😉 And I can usually spot fools, wannabes or grifters. Fundamentals never change, thankfully.

                      1 Reply Last reply
                      0
                      • E equity7804@hostux.social

                        @lcamtuf Hey, would you care to elaborate or point me to resources explaining why the coreutils aren't fertile ground for memory safety issues? It's the first time I heard of this

                        not2b@sfba.socialN This user is from outside of this forum
                        not2b@sfba.socialN This user is from outside of this forum
                        not2b@sfba.social
                        wrote sidst redigeret af
                        #193

                        @Equity7804 @lcamtuf There are plenty of potential memory safety issues, but also about 30 years of people fixing those issues. The difficulty is that is another category of issues, filesystem races, that Rust does not help you with at all, but that also had about 30 years of fixing in GNU coreutils. The result of ignoring these issues was that the Rust coreutils as they stand today are much more insecure than GNU coreutils.

                        1 Reply Last reply
                        0
                        • seirdy@pleroma.envs.netS seirdy@pleroma.envs.net

                          @2something@transfem.social @Doomed_Daniel@mastodon.gamedev.place @ireneista@irenes.space @lcamtuf@infosec.exchange @puppygirlhornypost2@transfem.social it’s packaged by almost every distro and easy to statically link and take with you

                          2something@transfem.social2 This user is from outside of this forum
                          2something@transfem.social2 This user is from outside of this forum
                          2something@transfem.social
                          wrote sidst redigeret af
                          #194

                          @Seirdy@pleroma.envs.net @ireneista@adhd.irenes.space @lcamtuf@infosec.exchange @Doomed_Daniel@mastodon.gamedev.place @puppygirlhornypost2

                          Thank you! I'll give it a whirl later!

                          1 Reply Last reply
                          0
                          • S shadsterling@mastodon.social

                            @Orb2069 @groxx @lcamtuf so, there were comments explaining everything? That’s better than I would’ve guessed

                            groxx@hachyderm.ioG This user is from outside of this forum
                            groxx@hachyderm.ioG This user is from outside of this forum
                            groxx@hachyderm.io
                            wrote sidst redigeret af
                            #195

                            @ShadSterling @Orb2069 @lcamtuf a very common refrain during these rust rewrites is that the RiiR side is finding and documenting all of the undocumented and forgotten edge cases that the original source code has but nobody understands why.

                            Occasional mistakes are expected along that kind of path. But the end result is often much better understood.

                            1 Reply Last reply
                            0
                            • doomed_daniel@mastodon.gamedev.placeD doomed_daniel@mastodon.gamedev.place

                              @ireneista @r @q @erincandescent @pinskia @lcamtuf
                              yeah, but disabled by default in chromium and AFAIK in Firefox it's only in the nightlies

                              https://en.wikipedia.org/wiki/JPEG_XL?useskin=vector#Web_browsers

                              skirmisher@snoot.tubeS This user is from outside of this forum
                              skirmisher@snoot.tubeS This user is from outside of this forum
                              skirmisher@snoot.tube
                              wrote sidst redigeret af
                              #196

                              @Doomed_Daniel @ireneista @r Firefox is still lumbering toward full enablement of JPEG XL as far as I know; they landed a Rust-written decoder to replace the C++ reference decoder, and I think they're making sure it gets to feature parity before they'll push it and close the tracking bug

                              1 Reply Last reply
                              0
                              • slash909uk@mastodon.me.ukS slash909uk@mastodon.me.uk

                                @lcamtuf yeah. currently running Ubuntu 24.04 LTS. My next upgrade will be a different distribution I think😥

                                BSD maybe?

                                jerrej@mastodon.socialJ This user is from outside of this forum
                                jerrej@mastodon.socialJ This user is from outside of this forum
                                jerrej@mastodon.social
                                wrote sidst redigeret af
                                #197

                                @Slash909uk @lcamtuf

                                Previously

                                https://mastodon.social/@jerrej/116515031377013873

                                1 Reply Last reply
                                0
                                • groxx@hachyderm.ioG groxx@hachyderm.io

                                  @lcamtuf a related observation would probably be: why did important, security-critical edge cases get handled without enough documentation to prevent them from reoccurring?

                                  fivetonsflax@tilde.zoneF This user is from outside of this forum
                                  fivetonsflax@tilde.zoneF This user is from outside of this forum
                                  fivetonsflax@tilde.zone
                                  wrote sidst redigeret af
                                  #198

                                  @groxx @lcamtuf 30 years is a long time, especially for institutions which don’t know their planning horizon is that long, which is most of them

                                  1 Reply Last reply
                                  0
                                  • jwcph@helvede.netJ jwcph@helvede.net shared this topic
                                  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