cvs commit: src/sys/nfsclient nfs_socket.c
alfred at freebsd.org
Thu Jan 10 18:39:25 PST 2008
* Peter Wemm <peter at wemm.org> [080110 17:39] wrote:
> On Jan 10, 2008 5:00 PM, Alfred Perlstein <alfred at freebsd.org> wrote:
> > * John Baldwin <jhb at FreeBSD.org> [080110 15:33] wrote:
> > > jhb 2008-01-10 23:36:00 UTC
> > >
> > > FreeBSD src repository
> > >
> > > Modified files:
> > > sys/nfsclient nfs_socket.c
> > > Log:
> > > Pass curthread to various socket routines (socreate(), sobind(), and
> > > soconnect()) instead of &thread0 when establishing a connection to the NFS
> > > server. Otherwise inconsistent credentials may be used when setting up
> > > the NFS socket.
> > I'm not sure, but I think this may be a regression, I seem to recall
> > that a long time ago it was switched to &thread0 because otherwise
> > certain operations can fail due to curthread not running as root.
> That's my recollection too. For example, when nfs is configured to
> bind to a priviliged local port for making queries or connections, it
> had to be done as root. With tcp mounts, the connection can be
> dropped and a reconnect required at any time.
This could be implemented by a handoff to a thread that does the
appropriate setuid call beforehand, or perhaps the credential
inconsistencies can be further expained or fixed.
More information about the cvs-all