* Christian Brauner:
On Fri, Dec 08, 2023 at 02:15:58PM +0100, Florian Weimer wrote:
quoted
* Christian Brauner:
quoted
File descriptors are reachable for all processes/threads that share a
file descriptor table. Changing that means breaking core userspace
assumptions about how file descriptors work. That's not going to happen
as far as I'm concerned.
It already has happened, though? Threads are free to call
unshare(CLONE_FILES). I'm sure that we have applications out there that
If you unshare a file descriptor table it will affect all file
descriptors of a given task. We don't allow hiding individual or ranges
of file descriptors from close/dup. That's akin to a partially shared
file descriptor table which is conceptually probably doable but just
plain weird and nasty to get right imho.
This really is either LSM territory to block such operations or use
stuff like io_uring gives you.
Sorry, I misunderstood. I'm imagining for something that doesn't share
partial tables and relies on explicit action to make available a
descriptor from a separate different table in another table, based on
some unique identifier (that is a bit more random than a file
descriptor). So a bit similar to the the existing systemd service, but
not targeted at service restarts.
Thanks,
Florian