mjg59,
@mjg59@nondeterministic.computer avatar

The idea that an inode has no idea which directory it's associated with was a mistake and I will take no questions

maswan,
@maswan@mastodon.acc.sunet.se avatar

@mjg59 Well, directories, since it can be in multiple ones?

mjg59,
@mjg59@nondeterministic.computer avatar

@maswan Yes that's the problem

maswan,
@maswan@mastodon.acc.sunet.se avatar

@mjg59 Except in the few places where it is the really nice solution that would need a whole framework of workarounds otherwise.

mjg59,
@mjg59@nondeterministic.computer avatar

@maswan Do they need to be hardlinks, or would symlinks be sufficient there?

mjg59,
@mjg59@nondeterministic.computer avatar

Seriously if I had a time machine and the ability to influence unix design this would be way up my fucking list

leftpaddotpy,
@leftpaddotpy@hachyderm.io avatar

@mjg59 hmmm this and the day that the Linux networking guy invented abstract domain Unix sockets in 1996 would be my candidates for api that makes people cry.

mjg59,
@mjg59@nondeterministic.computer avatar

@leftpaddotpy The abstract sockets interface fucking sucks but at least it doesn't tend to bleed into anything else you want to do that's good

leftpaddotpy,
@leftpaddotpy@hachyderm.io avatar

@mjg59 well, it did cause a cve in software i work on, by allowing processes to send each other fds despite no filesystem sharing, and there's no clean ways to block it outside of shoving them in separate netns (with pasta for connectivity) or using various lsms that are very ugly (or cgroup bpf lsm).

idk. whole experience didn't inspire any confidence in Linux security design.

mjg59,
@mjg59@nondeterministic.computer avatar

@leftpaddotpy Linux allows fds to exist without filesystem access, software running on Linux kind of has to take that into account

leftpaddotpy,
@leftpaddotpy@hachyderm.io avatar

@mjg59 yes, but allowing yeeting them between ostensibly chrooted processes running as different users merely if you're in the same netns is pretty extremely surprising behaviour

mjg59,
@mjg59@nondeterministic.computer avatar

@leftpaddotpy To be fair a lot of Unix is surprising behaviour

lkundrak,
@lkundrak@metalhead.club avatar

@mjg59 above or below fixing the spelling of creat and umount?

mjg59,
@mjg59@nondeterministic.computer avatar

@lkundrak Weird spelling can be worked around, filesystem semantics are forever

rfc6919,
@rfc6919@aus.social avatar

@mjg59 so no hardlinks, only symlinks? or work or some other way to hold an arbitrary number of dir references?

mjg59,
@mjg59@nondeterministic.computer avatar

@rfc6919 Probably no hardlinks

kithrup,
@kithrup@wandering.shop avatar

@mjg59 @rfc6919 No opened-but-unlinked files?

HFS/HFS+ had the data information as part of the catalog information, and honestly, I hated it. You can get the same information (going from file descriptor to path) using a slightly different approach, and not lose the ability to have hard links or open-unlinked files -- Linux does this, by having a separation been the file descriptor structure, and the vnode structure.

mjg59,
@mjg59@nondeterministic.computer avatar

@kithrup @rfc6919 opened-but-unlinked don't cause problems here, the two main issues are that you can't apply security policy based on path (one file may exist in multiple paths) and you can't look for notifications based on parent directory (if files have no canonical parent, how do you know to notify on modification?)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • tacticalgear
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • khanakhh
  • Youngstown
  • ngwrru68w68
  • slotface
  • everett
  • rosin
  • thenastyranch
  • kavyap
  • GTA5RPClips
  • cisconetworking
  • JUstTest
  • normalnudes
  • osvaldo12
  • ethstaker
  • mdbf
  • modclub
  • Durango
  • tester
  • provamag3
  • cubers
  • Leos
  • anitta
  • megavids
  • lostlight
  • All magazines