cvs commit: src/sys/nfsclient nfs_socket.c

Alfred Perlstein 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.

-Alfred


More information about the cvs-all mailing list