On Fri, 1 Sep 2000, Linus Torvalds wrote:
> > 3rd Problem: one uid/gid process-wide
> > All the ID (uid/guid/euid/egid/...) must be process wide. The problem
> > is similar to the signal handler. I think one should again keep the
> > information exclusively in the master thread and have all others refer
> > to this information.
> No, it would be another "clone" option.
> But I don't think this is performance-critical, and I don't think it is
> something people really care about. So I'd be unlikely to handle this for
Having written lots of Linux-specific code in BIND 9 to work around this
problem in LinuxThreads, I'd really like to see it work correctly
(correctly meaning according to posix, in this case).
Basically, on every non-Linux platform, we can start threads, parse the
config file in a thread, create new privileged sockets to listen on, and
then call setuid(). On Linux, that doesn't work, because the call to
setuid() only affects the running thread, which means we need to rework
the above logic into a capability-based mess.
This is not a performnace critical operation, but not implementing in the
kernel makes user space jump through some pretty large hoops. The
solution would probably involve lots of inter-thread messages, which if I
remember correctly, these changes were supposed to remove.
I'd imagine other people have similar concerns...
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Sep 07 2000 - 21:00:12 EST