• xmo748@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    1 day ago

    So could have Java, Go, C# or any language with GC. With garbage collection, the options object stays alive as long as any CPU holds a pointer to it, so use-after-free can’t happen.

    Besides, this exploit is so hard to pull off the only realistic outcome is a kernel panic, and that hasn’t even been publicly demoed.

    • thingsiplay@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      1 day ago

      So could have Java, Go, C# or any language with GC.

      No. Those aren’t allowed in Linux Kernel.

      With garbage collection

      Garbage Collection is not usable in an operating system Kernel.

      • xmo748@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        1 day ago

        Clearly, but it’s worth pointing out that this kind of problem isn’t uniquely fixed by “just use Rust”.

        • thingsiplay@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          1 day ago

          I never said that only Rust prevents this. I just said using Rust in the Kernel would have prevented this issue.

          • xmo748@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            22 hours ago

            Fair enough. Don’t you think it simplifies the issue a little bit? How long would it take to rewrite the entire TCP stack in rust?

            • thingsiplay@lemmy.ml
              link
              fedilink
              arrow-up
              1
              ·
              21 hours ago

              I don’t think a rewrite in Rust is necessary for everything that has a bug. Instead fixing the bug is probably more secure, before such alternative Rust code is mature enough to replace it.