this post was submitted on 29 Apr 2026
45 points (95.9% liked)

Linux

13563 readers
445 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] TehPers@beehaw.org 2 points 1 week ago* (last edited 1 week ago) (1 children)

Many of their TOCTOU issues are something a type system can help with. Require operations to execute on a fd handle directly rather than using convenience functions.

let fd = FileDescriptor::new(path);
fd.delete()?;
fd.create(mode)?;

let is_root = fd == FileDescriptor::new("/"); // does (dev, inode) comparison internally
// etc

The uutils devs would need to create that themselves, but OpenOptions seems to get them part of the way there at least.

[โ€“] BB_C@programming.dev 2 points 1 week ago

That's a question of API, not type system. And FD types (e.g. OwnedFd, BorrowedFd) are already in std.