If no mount server port number is specified, this change to the kernel
mount client
http://linux-nfs.org/cgi-bin/gitweb.cgi?p=nfs-2.6.git;a=commitdiff;h=209ce98
06996537eceaf07d95def0e9300316c84
inadvertently allows the NFS server's port number to be the used as
the mount server's port number. If the user specifies an NFS server
port (-o port=x), the mount will fail.
The fix below sets the mount server's port to 0 if no mount server
port is specified by the user.
Signed-off-by: James Lentini <[email protected]>
--
super.c | 2 ++
1 file changed, 2 insertions(+)
Index: nfs-2.6/fs/nfs/super.c
===================================================================
--- nfs-2.6/fs/nfs/super.c
+++ nfs-2.6/fs/nfs/super.c
@@ -1006,6 +1006,8 @@ static int nfs_try_mount(struct nfs_pars
sin = args->nfs_server.address;
if (args->mount_server.port != 0)
sin.sin_port = htons(args->mount_server.port);
+ else
+ sin.sin_port = htons(0);
/*
* Now ask the mount server to map our export path
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
On Mon, 24 Sep 2007, Chuck Lever wrote:
> Hi James-
>
> James Lentini wrote:
> > If no mount server port number is specified, this change to the kernel mount
> > client
> >
> > http://linux-nfs.org/cgi-bin/gitweb.cgi?p=nfs-2.6.git;a=commitdiff;h=209ce98
> > 06996537eceaf07d95def0e9300316c84
> >
> > inadvertently allows the NFS server's port number to be the used as the
> > mount server's port number. If the user specifies an NFS server port (-o
> > port=x), the mount will fail.
> >
> > The fix below sets the mount server's port to 0 if no mount server port is
> > specified by the user.
> >
> > Signed-off-by: James Lentini <[email protected]>
> > --
> >
> > super.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > Index: nfs-2.6/fs/nfs/super.c
> > ===================================================================
> > --- nfs-2.6/fs/nfs/super.c
> > +++ nfs-2.6/fs/nfs/super.c
> > @@ -1006,6 +1006,8 @@ static int nfs_try_mount(struct nfs_pars
> > sin = args->nfs_server.address;
> > if (args->mount_server.port != 0)
> > sin.sin_port = htons(args->mount_server.port);
> > + else
> > + sin.sin_port = htons(0);
>
> Why not just set sin.sin_port = args->mount_server.port unconditionally?
Good observation. Something like this perhaps?
Signed-off-by: James Lentini <[email protected]>
Index: nfs-2.6/fs/nfs/super.c
===================================================================
--- nfs-2.6/fs/nfs/super.c
+++ nfs-2.6/fs/nfs/super.c
@@ -1004,8 +1004,10 @@ static int nfs_try_mount(struct nfs_pars
sin = args->mount_server.address;
else
sin = args->nfs_server.address;
- if (args->mount_server.port != 0)
- sin.sin_port = htons(args->mount_server.port);
+ /*
+ * autobind will be used if mount_server.port == 0
+ */
+ sin.sin_port = htons(args->mount_server.port);
/*
* Now ask the mount server to map our export path
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs